diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-04-14 15:02:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-04-14 15:02:33 +0000 |
commit | 040908130c3404ee6fcf9aa1a7da3fc31b7d325b (patch) | |
tree | aaae9483b12828a3112c59ba6b57ae470b8b6893 /nn/runtime | |
parent | 47d0964477c6f3bbade5b3da97f8cac394c2b6d4 (diff) | |
parent | 42066043b260bf5b965ad7b83a28628d9eb2f3c5 (diff) | |
download | ml-040908130c3404ee6fcf9aa1a7da3fc31b7d325b.tar.gz |
Merge "Add WHILE tests with CONSTANT_REFERENCE inputs" into rvc-dev
Diffstat (limited to 'nn/runtime')
-rw-r--r-- | nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp | 26900 | ||||
-rw-r--r-- | nn/runtime/test/generated/spec_V1_3/while_sum_of_powers.example.cpp | 7749 | ||||
-rw-r--r-- | nn/runtime/test/specs/V1_3/while_fib.mod.py | 14 | ||||
-rw-r--r-- | nn/runtime/test/specs/V1_3/while_sum_of_powers.mod.py | 11 |
4 files changed, 34330 insertions, 344 deletions
diff --git a/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp b/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp index f30d9a698..fdae5498a 100644 --- a/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp +++ b/nn/runtime/test/generated/spec_V1_3/while_fib.example.cpp @@ -586,17 +586,17 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param20 + }, { // param40 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -859,17 +859,17 @@ const TestModel& get_test_model_1_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param21 + }, { // param41 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -1650,17 +1650,17 @@ const TestModel& get_test_model_1_relaxed_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param25 + }, { // param45 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -1923,17 +1923,17 @@ const TestModel& get_test_model_1_relaxed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param26 + }, { // param46 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -2714,17 +2714,17 @@ const TestModel& get_test_model_1_float16_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param30 + }, { // param50 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -2987,17 +2987,17 @@ const TestModel& get_test_model_1_float16_all_outputs_as_internal() { .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param31 + }, { // param51 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -3778,17 +3778,17 @@ const TestModel& get_test_model_1_quant8_all_tensors_as_inputs_all_inputs_as_int .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param35 + }, { // param55 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -4051,17 +4051,17 @@ const TestModel& get_test_model_1_quant8_all_outputs_as_internal() { .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param36 + }, { // param56 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -4842,17 +4842,17 @@ const TestModel& get_test_model_1_quant8_signed_all_tensors_as_inputs_all_inputs .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param40 + }, { // param60 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -5115,17 +5115,17 @@ const TestModel& get_test_model_1_quant8_signed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param41 + }, { // param61 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -5906,17 +5906,17 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param45 + }, { // param65 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -6179,17 +6179,17 @@ const TestModel& get_test_model_2_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param46 + }, { // param66 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -6970,17 +6970,17 @@ const TestModel& get_test_model_2_relaxed_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param50 + }, { // param70 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -7243,17 +7243,17 @@ const TestModel& get_test_model_2_relaxed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param51 + }, { // param71 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -8034,17 +8034,17 @@ const TestModel& get_test_model_2_float16_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param55 + }, { // param75 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -8307,17 +8307,17 @@ const TestModel& get_test_model_2_float16_all_outputs_as_internal() { .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param56 + }, { // param76 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -9098,17 +9098,17 @@ const TestModel& get_test_model_2_quant8_all_tensors_as_inputs_all_inputs_as_int .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param60 + }, { // param80 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -9371,17 +9371,17 @@ const TestModel& get_test_model_2_quant8_all_outputs_as_internal() { .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param61 + }, { // param81 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10162,17 +10162,17 @@ const TestModel& get_test_model_2_quant8_signed_all_tensors_as_inputs_all_inputs .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param65 + }, { // param85 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10435,17 +10435,17 @@ const TestModel& get_test_model_2_quant8_signed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param66 + }, { // param86 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11226,17 +11226,17 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param70 + }, { // param90 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11499,17 +11499,17 @@ const TestModel& get_test_model_3_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param71 + }, { // param91 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12290,17 +12290,17 @@ const TestModel& get_test_model_3_relaxed_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param75 + }, { // param95 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12563,17 +12563,17 @@ const TestModel& get_test_model_3_relaxed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param76 + }, { // param96 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -13354,17 +13354,17 @@ const TestModel& get_test_model_3_float16_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param80 + }, { // param100 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -13627,17 +13627,17 @@ const TestModel& get_test_model_3_float16_all_outputs_as_internal() { .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param81 + }, { // param101 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -14418,17 +14418,17 @@ const TestModel& get_test_model_3_quant8_all_tensors_as_inputs_all_inputs_as_int .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param85 + }, { // param105 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -14691,17 +14691,17 @@ const TestModel& get_test_model_3_quant8_all_outputs_as_internal() { .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param86 + }, { // param106 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -15482,17 +15482,17 @@ const TestModel& get_test_model_3_quant8_signed_all_tensors_as_inputs_all_inputs .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param90 + }, { // param110 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -15755,17 +15755,17 @@ const TestModel& get_test_model_3_quant8_signed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param91 + }, { // param111 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -16546,17 +16546,17 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param95 + }, { // param115 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -16819,17 +16819,17 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param96 + }, { // param116 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -17610,17 +17610,17 @@ const TestModel& get_test_model_4_relaxed_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param100 + }, { // param120 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -17883,17 +17883,17 @@ const TestModel& get_test_model_4_relaxed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param101 + }, { // param121 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -18674,17 +18674,17 @@ const TestModel& get_test_model_4_float16_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param105 + }, { // param125 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -18947,17 +18947,17 @@ const TestModel& get_test_model_4_float16_all_outputs_as_internal() { .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param106 + }, { // param126 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -19738,17 +19738,17 @@ const TestModel& get_test_model_4_quant8_all_tensors_as_inputs_all_inputs_as_int .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param110 + }, { // param130 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -20011,17 +20011,17 @@ const TestModel& get_test_model_4_quant8_all_outputs_as_internal() { .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param111 + }, { // param131 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -20802,17 +20802,17 @@ const TestModel& get_test_model_4_quant8_signed_all_tensors_as_inputs_all_inputs .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param115 + }, { // param135 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -21075,17 +21075,17 @@ const TestModel& get_test_model_4_quant8_signed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param116 + }, { // param136 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -21866,17 +21866,17 @@ const TestModel& get_test_model_5_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param120 + }, { // param140 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -22139,17 +22139,17 @@ const TestModel& get_test_model_5_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param121 + }, { // param141 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -22930,17 +22930,17 @@ const TestModel& get_test_model_5_relaxed_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param125 + }, { // param145 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -23203,17 +23203,17 @@ const TestModel& get_test_model_5_relaxed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param126 + }, { // param146 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -23994,17 +23994,17 @@ const TestModel& get_test_model_5_float16_all_tensors_as_inputs_all_inputs_as_in .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param130 + }, { // param150 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -24267,17 +24267,17 @@ const TestModel& get_test_model_5_float16_all_outputs_as_internal() { .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 - }, { // param131 + }, { // param151 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -25058,17 +25058,17 @@ const TestModel& get_test_model_5_quant8_all_tensors_as_inputs_all_inputs_as_int .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param135 + }, { // param155 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -25331,17 +25331,17 @@ const TestModel& get_test_model_5_quant8_all_outputs_as_internal() { .data = TestBuffer::createFromVector<uint8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 0 - }, { // param136 + }, { // param156 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -26122,17 +26122,17 @@ const TestModel& get_test_model_5_quant8_signed_all_tensors_as_inputs_all_inputs .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param140 + }, { // param160 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -26395,17 +26395,17 @@ const TestModel& get_test_model_5_quant8_signed_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int8_t>({0}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, .zeroPoint = 0 - }, { // param141 + }, { // param161 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -26604,3 +26604,26603 @@ const auto dummy_test_model_5_quant8_signed_all_outputs_as_internal = TestModelM } // namespace generated_tests::while_fib +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_2 = TestModelManager::get().add("while_fib_1_2", get_test_model_1_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_1_all_tensors_as_inputs_2", get_test_model_1_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // fib_init5_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 + }, { // dummy125 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param165 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_1_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy126 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param166 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_1_all_outputs_as_internal_2", get_test_model_1_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_relaxed_2 = TestModelManager::get().add("while_fib_1_relaxed_2", get_test_model_1_relaxed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_1_relaxed_all_tensors_as_inputs_2", get_test_model_1_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // fib_init5_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 + }, { // dummy130 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param170 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_1_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy131 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param171 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_1_relaxed_all_outputs_as_internal_2", get_test_model_1_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_float16_2 = TestModelManager::get().add("while_fib_1_float16_2", get_test_model_1_float16_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_1_float16_all_tensors_as_inputs_2", get_test_model_1_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init5_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy135 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param175 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_1_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy136 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param176 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_1_float16_all_outputs_as_internal_2", get_test_model_1_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_2 = TestModelManager::get().add("while_fib_1_quant8_2", get_test_model_1_quant8_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_1_quant8_all_tensors_as_inputs_2", get_test_model_1_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // fib_init5_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 + }, { // dummy140 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param180 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_1_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // dummy141 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param181 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_1_quant8_all_outputs_as_internal_2", get_test_model_1_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_signed_2 = TestModelManager::get().add("while_fib_1_quant8_signed_2", get_test_model_1_quant8_signed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_1_quant8_signed_all_tensors_as_inputs_2", get_test_model_1_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .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 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // fib_init5_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 + }, { // dummy145 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param185 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_1_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_1_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // fib_out10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // dummy146 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param186 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out10_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib10 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i10 + .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 + }, { // n16 + .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 + }, { // out5 + .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 = {{ // fib11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i11 + .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 + }, { // n17 + .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_out11 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_1_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_1_quant8_signed_all_outputs_as_internal_2", get_test_model_1_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_2 = TestModelManager::get().add("while_fib_2_2", get_test_model_2_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_2_all_tensors_as_inputs_2", get_test_model_2_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init6_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 + }, { // dummy150 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param190 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_2_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .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 + }, { // dummy151 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param191 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_2_all_outputs_as_internal_2", get_test_model_2_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_relaxed_2 = TestModelManager::get().add("while_fib_2_relaxed_2", get_test_model_2_relaxed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_2_relaxed_all_tensors_as_inputs_2", get_test_model_2_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init6_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 + }, { // dummy155 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param195 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_2_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .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 + }, { // dummy156 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param196 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_2_relaxed_all_outputs_as_internal_2", get_test_model_2_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_float16_2 = TestModelManager::get().add("while_fib_2_float16_2", get_test_model_2_float16_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_2_float16_all_tensors_as_inputs_2", get_test_model_2_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init6_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy160 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param200 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_2_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .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 + }, { // dummy161 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param201 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 2.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_2_float16_all_outputs_as_internal_2", get_test_model_2_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_2 = TestModelManager::get().add("while_fib_2_quant8_2", get_test_model_2_quant8_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_2_quant8_all_tensors_as_inputs_2", get_test_model_2_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 2}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init6_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 + }, { // dummy165 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param205 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_2_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .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 + }, { // dummy166 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param206 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_2_quant8_all_outputs_as_internal_2", get_test_model_2_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_signed_2 = TestModelManager::get().add("while_fib_2_quant8_signed_2", get_test_model_2_quant8_signed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_2_quant8_signed_all_tensors_as_inputs_2", get_test_model_2_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .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 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 2}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init6_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 + }, { // dummy170 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param210 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_2_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_2_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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_out12 + .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 + }, { // dummy171 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param211 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out12_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 2}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib12 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i12 + .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 + }, { // n19 + .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 + }, { // out6 + .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 = {{ // fib13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i13 + .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 + }, { // n20 + .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_out13 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param24 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_2_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_2_quant8_signed_all_outputs_as_internal_2", get_test_model_2_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_2 = TestModelManager::get().add("while_fib_3_2", get_test_model_3_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_3_all_tensors_as_inputs_2", get_test_model_3_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init7_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 + }, { // dummy175 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param215 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_3_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .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 + }, { // dummy176 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param216 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_3_all_outputs_as_internal_2", get_test_model_3_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_relaxed_2 = TestModelManager::get().add("while_fib_3_relaxed_2", get_test_model_3_relaxed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_3_relaxed_all_tensors_as_inputs_2", get_test_model_3_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init7_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 + }, { // dummy180 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param220 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_3_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .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 + }, { // dummy181 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param221 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_3_relaxed_all_outputs_as_internal_2", get_test_model_3_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_float16_2 = TestModelManager::get().add("while_fib_3_float16_2", get_test_model_3_float16_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_3_float16_all_tensors_as_inputs_2", get_test_model_3_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init7_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy185 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param225 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_3_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .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 + }, { // dummy186 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param226 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({2.0f, 3.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_3_float16_all_outputs_as_internal_2", get_test_model_3_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_2 = TestModelManager::get().add("while_fib_3_quant8_2", get_test_model_3_quant8_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_3_quant8_all_tensors_as_inputs_2", get_test_model_3_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({2, 3}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init7_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 + }, { // dummy190 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param230 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_3_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .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 + }, { // dummy191 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param231 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_3_quant8_all_outputs_as_internal_2", get_test_model_3_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_signed_2 = TestModelManager::get().add("while_fib_3_quant8_signed_2", get_test_model_3_quant8_signed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_3_quant8_signed_all_tensors_as_inputs_2", get_test_model_3_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .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 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({2, 3}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init7_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 + }, { // dummy195 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param235 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_3_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_3_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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_out14 + .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 + }, { // dummy196 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param236 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out14_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({2, 3}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib14 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i14 + .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 + }, { // n22 + .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 + }, { // out7 + .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 = {{ // fib15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i15 + .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 + }, { // n23 + .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_out15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .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 + }, { // param28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_3_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_3_quant8_signed_all_outputs_as_internal_2", get_test_model_3_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_2 = TestModelManager::get().add("while_fib_4_2", get_test_model_4_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_4_all_tensors_as_inputs_2", get_test_model_4_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init8_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 + }, { // dummy200 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param240 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_4_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .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 + }, { // dummy201 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param241 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_4_all_outputs_as_internal_2", get_test_model_4_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_relaxed_2 = TestModelManager::get().add("while_fib_4_relaxed_2", get_test_model_4_relaxed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_4_relaxed_all_tensors_as_inputs_2", get_test_model_4_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init8_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 + }, { // dummy205 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param245 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_4_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .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 + }, { // dummy206 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param246 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_4_relaxed_all_outputs_as_internal_2", get_test_model_4_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_float16_2 = TestModelManager::get().add("while_fib_4_float16_2", get_test_model_4_float16_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_4_float16_all_tensors_as_inputs_2", get_test_model_4_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({3.0f, 5.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy210 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param250 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_4_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .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 + }, { // dummy211 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param251 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({3.0f, 5.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_4_float16_all_outputs_as_internal_2", get_test_model_4_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_2 = TestModelManager::get().add("while_fib_4_quant8_2", get_test_model_4_quant8_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_4_quant8_all_tensors_as_inputs_2", get_test_model_4_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({3, 5}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // dummy215 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param255 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_4_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .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 + }, { // dummy216 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param256 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out8 + .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 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_4_quant8_all_outputs_as_internal_2", get_test_model_4_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_signed_2 = TestModelManager::get().add("while_fib_4_quant8_signed_2", get_test_model_4_quant8_signed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_4_quant8_signed_all_tensors_as_inputs_2", get_test_model_4_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({3, 5}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init8_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // dummy220 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param260 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_4_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_4_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n24 + .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_out16 + .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 + }, { // dummy221 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param261 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out16_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({3, 5}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i16 + .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 + }, { // n25 + .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 + }, { // out8 + .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 = {{ // fib17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i17 + .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 + }, { // n26 + .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_out17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias8 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_4_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_4_quant8_signed_all_outputs_as_internal_2", get_test_model_4_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_2 = TestModelManager::get().add("while_fib_5_2", get_test_model_5_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_5_all_tensors_as_inputs_2", get_test_model_5_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init9_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 + }, { // dummy225 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param265 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_5_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_5_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .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 + }, { // dummy226 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param266 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_5_all_outputs_as_internal_2", get_test_model_5_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_relaxed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_relaxed_2 = TestModelManager::get().add("while_fib_5_relaxed_2", get_test_model_5_relaxed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_relaxed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_relaxed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_5_relaxed_all_tensors_as_inputs_2", get_test_model_5_relaxed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // fib_init9_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 + }, { // dummy230 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param270 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_5_relaxed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_relaxed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = true, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .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 + }, { // dummy231 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param271 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::UNKNOWN, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_relaxed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_5_relaxed_all_outputs_as_internal_2", get_test_model_5_relaxed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_float16_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_float16_2 = TestModelManager::get().add("while_fib_5_float16_2", get_test_model_5_float16_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_float16_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_float16_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_5_float16_all_tensors_as_inputs_2", get_test_model_5_float16_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({5.0f, 8.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // dummy235 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param275 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_5_float16_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_float16_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .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 + }, { // dummy236 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param276 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({5.0f, 8.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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 1.0f, 1.0f, 1.0f}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<_Float16>({0.0f, 0.0f}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT16, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_float16_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_5_float16_all_outputs_as_internal_2", get_test_model_5_float16_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_2 = TestModelManager::get().add("while_fib_5_quant8_2", get_test_model_5_quant8_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_5_quant8_all_tensors_as_inputs_2", get_test_model_5_quant8_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({5, 8}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // dummy240 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param280 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_5_quant8_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .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 + }, { // dummy241 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // param281 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_5_quant8_all_outputs_as_internal_2", get_test_model_5_quant8_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_signed_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_signed_2 = TestModelManager::get().add("while_fib_5_quant8_signed_2", get_test_model_5_quant8_signed_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_signed_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_signed_all_tensors_as_inputs_2 = TestModelManager::get().add("while_fib_5_quant8_signed_all_tensors_as_inputs_2", get_test_model_5_quant8_signed_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 6}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .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 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({5, 8}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // fib_init9_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<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 + }, { // dummy245 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param285 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 8}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4}, + .outputs = {5}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {5} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_fib_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_5_quant8_signed_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_fib + +namespace generated_tests::while_fib { + +const TestModel& get_test_model_5_quant8_signed_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4}, + .operands = {{ // cond9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // body9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // fib_init9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({1, 1}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n27 + .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_out18 + .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 + }, { // dummy246 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // param286 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // fib_out18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({5, 8}), + .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}, + .type = TestOperationType::WHILE + }, { + .inputs = {5, 6, 7}, + .outputs = {8}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {8} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // cond + .inputIndexes = {0, 1, 2}, + .operands = {{ // fib18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i18 + .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 + }, { // n28 + .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 + }, { // out9 + .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 = {{ // fib19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i19 + .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 + }, { // n29 + .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_out19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // i_out9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<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>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // matrix9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int8_t>({0, 1, 1, 1}), + .dimensions = {2, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_QUANT8_ASYMM_SIGNED, + .zeroPoint = 0 + }, { // zero_bias9 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0, 0}), + .dimensions = {2, 1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 1.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {1, 5, 6}, + .outputs = {4}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 7, 8, 9}, + .outputs = {3}, + .type = TestOperationType::FULLY_CONNECTED + }}, + .outputIndexes = {3, 4} + }} + }; + return model; +} + +const auto dummy_test_model_5_quant8_signed_all_outputs_as_internal_2 = TestModelManager::get().add("while_fib_5_quant8_signed_all_outputs_as_internal_2", get_test_model_5_quant8_signed_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_fib + diff --git a/nn/runtime/test/generated/spec_V1_3/while_sum_of_powers.example.cpp b/nn/runtime/test/generated/spec_V1_3/while_sum_of_powers.example.cpp index d2736f7b8..c9082ff85 100644 --- a/nn/runtime/test/generated/spec_V1_3/while_sum_of_powers.example.cpp +++ b/nn/runtime/test/generated/spec_V1_3/while_sum_of_powers.example.cpp @@ -563,17 +563,17 @@ const TestModel& get_test_model_1_all_inputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param60 + }, { // param96 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -1527,17 +1527,17 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param61 + }, { // param97 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -1557,17 +1557,17 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param62 + }, { // param98 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -2050,17 +2050,17 @@ const TestModel& get_test_model_1_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param63 + }, { // param99 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -2467,7 +2467,7 @@ const auto dummy_test_model_1_all_outputs_as_internal = TestModelManager::get(). namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_1_2() { +const TestModel& get_test_model_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -2516,7 +2516,7 @@ const TestModel& get_test_model_1_2() { .zeroPoint = 0 }, { // n3 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({1}), + .data = TestBuffer::createFromVector<int32_t>({2}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -2536,7 +2536,7 @@ const TestModel& get_test_model_1_2() { .zeroPoint = 0 }, { // sum3 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -2926,13 +2926,13 @@ const TestModel& get_test_model_1_2() { return model; } -const auto dummy_test_model_1_2 = TestModelManager::get().add("while_sum_of_powers_1_2", get_test_model_1_2()); +const auto dummy_test_model_2 = TestModelManager::get().add("while_sum_of_powers_2", get_test_model_2()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_1_all_inputs_as_internal_2() { +const TestModel& get_test_model_2_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -2981,7 +2981,7 @@ const TestModel& get_test_model_1_all_inputs_as_internal_2() { .zeroPoint = 0 }, { // n3 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({1}), + .data = TestBuffer::createFromVector<int32_t>({2}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -3001,7 +3001,7 @@ const TestModel& get_test_model_1_all_inputs_as_internal_2() { .zeroPoint = 0 }, { // sum3 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -3024,17 +3024,17 @@ const TestModel& get_test_model_1_all_inputs_as_internal_2() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param67 + }, { // param103 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -3425,13 +3425,13 @@ const TestModel& get_test_model_1_all_inputs_as_internal_2() { return model; } -const auto dummy_test_model_1_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_inputs_as_internal_2", get_test_model_1_all_inputs_as_internal_2()); +const auto dummy_test_model_2_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_inputs_as_internal", get_test_model_2_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_1_all_tensors_as_inputs_2() { +const TestModel& get_test_model_2_all_tensors_as_inputs() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -3480,7 +3480,7 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_2() { .zeroPoint = 0 }, { // n3 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({1}), + .data = TestBuffer::createFromVector<int32_t>({2}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -3500,7 +3500,7 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_2() { .zeroPoint = 0 }, { // sum3 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -3890,13 +3890,13 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_2() { return model; } -const auto dummy_test_model_1_all_tensors_as_inputs_2 = TestModelManager::get().add("while_sum_of_powers_1_all_tensors_as_inputs_2", get_test_model_1_all_tensors_as_inputs_2()); +const auto dummy_test_model_2_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs", get_test_model_2_all_tensors_as_inputs()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2() { +const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -3945,7 +3945,7 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 .zeroPoint = 0 }, { // n3 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({1}), + .data = TestBuffer::createFromVector<int32_t>({2}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -3965,7 +3965,7 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 .zeroPoint = 0 }, { // sum3 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -3988,17 +3988,17 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param68 + }, { // param104 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -4018,17 +4018,17 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param69 + }, { // param105 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -4423,13 +4423,13 @@ const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 return model; } -const auto dummy_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2()); +const auto dummy_test_model_2_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_1_all_outputs_as_internal_2() { +const TestModel& get_test_model_2_all_outputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -4478,7 +4478,7 @@ const TestModel& get_test_model_1_all_outputs_as_internal_2() { .zeroPoint = 0 }, { // n3 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({1}), + .data = TestBuffer::createFromVector<int32_t>({2}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -4511,24 +4511,24 @@ const TestModel& get_test_model_1_all_outputs_as_internal_2() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param70 + }, { // param106 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // sum3_new .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -4922,13 +4922,13 @@ const TestModel& get_test_model_1_all_outputs_as_internal_2() { return model; } -const auto dummy_test_model_1_all_outputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_outputs_as_internal_2", get_test_model_1_all_outputs_as_internal_2()); +const auto dummy_test_model_2_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_outputs_as_internal", get_test_model_2_all_outputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_2() { +const TestModel& get_test_model_3() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -4977,7 +4977,7 @@ const TestModel& get_test_model_2() { .zeroPoint = 0 }, { // n6 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({2}), + .data = TestBuffer::createFromVector<int32_t>({3}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -4997,7 +4997,7 @@ const TestModel& get_test_model_2() { .zeroPoint = 0 }, { // sum6 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -5387,13 +5387,13 @@ const TestModel& get_test_model_2() { return model; } -const auto dummy_test_model_2 = TestModelManager::get().add("while_sum_of_powers_2", get_test_model_2()); +const auto dummy_test_model_3 = TestModelManager::get().add("while_sum_of_powers_3", get_test_model_3()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_2_all_inputs_as_internal() { +const TestModel& get_test_model_3_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -5442,7 +5442,7 @@ const TestModel& get_test_model_2_all_inputs_as_internal() { .zeroPoint = 0 }, { // n6 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({2}), + .data = TestBuffer::createFromVector<int32_t>({3}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -5462,7 +5462,7 @@ const TestModel& get_test_model_2_all_inputs_as_internal() { .zeroPoint = 0 }, { // sum6 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -5485,17 +5485,17 @@ const TestModel& get_test_model_2_all_inputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param74 + }, { // param110 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -5886,13 +5886,13 @@ const TestModel& get_test_model_2_all_inputs_as_internal() { return model; } -const auto dummy_test_model_2_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_inputs_as_internal", get_test_model_2_all_inputs_as_internal()); +const auto dummy_test_model_3_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_inputs_as_internal", get_test_model_3_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_2_all_tensors_as_inputs() { +const TestModel& get_test_model_3_all_tensors_as_inputs() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -5941,7 +5941,7 @@ const TestModel& get_test_model_2_all_tensors_as_inputs() { .zeroPoint = 0 }, { // n6 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({2}), + .data = TestBuffer::createFromVector<int32_t>({3}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -5961,7 +5961,7 @@ const TestModel& get_test_model_2_all_tensors_as_inputs() { .zeroPoint = 0 }, { // sum6 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -6351,13 +6351,13 @@ const TestModel& get_test_model_2_all_tensors_as_inputs() { return model; } -const auto dummy_test_model_2_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs", get_test_model_2_all_tensors_as_inputs()); +const auto dummy_test_model_3_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs", get_test_model_3_all_tensors_as_inputs()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() { +const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -6406,7 +6406,7 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() .zeroPoint = 0 }, { // n6 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({2}), + .data = TestBuffer::createFromVector<int32_t>({3}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -6426,7 +6426,7 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() .zeroPoint = 0 }, { // sum6 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -6449,17 +6449,17 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param75 + }, { // param111 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -6479,17 +6479,17 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param76 + }, { // param112 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -6884,13 +6884,13 @@ const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal() return model; } -const auto dummy_test_model_2_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal()); +const auto dummy_test_model_3_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_2_all_outputs_as_internal() { +const TestModel& get_test_model_3_all_outputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -6939,7 +6939,7 @@ const TestModel& get_test_model_2_all_outputs_as_internal() { .zeroPoint = 0 }, { // n6 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({2}), + .data = TestBuffer::createFromVector<int32_t>({3}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -6972,24 +6972,24 @@ const TestModel& get_test_model_2_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param77 + }, { // param113 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // sum6_new .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -7383,13 +7383,13 @@ const TestModel& get_test_model_2_all_outputs_as_internal() { return model; } -const auto dummy_test_model_2_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_2_all_outputs_as_internal", get_test_model_2_all_outputs_as_internal()); +const auto dummy_test_model_3_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_outputs_as_internal", get_test_model_3_all_outputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_3() { +const TestModel& get_test_model_4() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -7438,7 +7438,7 @@ const TestModel& get_test_model_3() { .zeroPoint = 0 }, { // n9 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({3}), + .data = TestBuffer::createFromVector<int32_t>({4}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -7458,7 +7458,7 @@ const TestModel& get_test_model_3() { .zeroPoint = 0 }, { // sum9 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -7848,13 +7848,13 @@ const TestModel& get_test_model_3() { return model; } -const auto dummy_test_model_3 = TestModelManager::get().add("while_sum_of_powers_3", get_test_model_3()); +const auto dummy_test_model_4 = TestModelManager::get().add("while_sum_of_powers_4", get_test_model_4()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_3_all_inputs_as_internal() { +const TestModel& get_test_model_4_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -7903,7 +7903,7 @@ const TestModel& get_test_model_3_all_inputs_as_internal() { .zeroPoint = 0 }, { // n9 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({3}), + .data = TestBuffer::createFromVector<int32_t>({4}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -7923,7 +7923,7 @@ const TestModel& get_test_model_3_all_inputs_as_internal() { .zeroPoint = 0 }, { // sum9 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -7946,17 +7946,17 @@ const TestModel& get_test_model_3_all_inputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param81 + }, { // param117 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -8347,13 +8347,13 @@ const TestModel& get_test_model_3_all_inputs_as_internal() { return model; } -const auto dummy_test_model_3_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_inputs_as_internal", get_test_model_3_all_inputs_as_internal()); +const auto dummy_test_model_4_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_inputs_as_internal", get_test_model_4_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_3_all_tensors_as_inputs() { +const TestModel& get_test_model_4_all_tensors_as_inputs() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -8402,7 +8402,7 @@ const TestModel& get_test_model_3_all_tensors_as_inputs() { .zeroPoint = 0 }, { // n9 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({3}), + .data = TestBuffer::createFromVector<int32_t>({4}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -8422,7 +8422,7 @@ const TestModel& get_test_model_3_all_tensors_as_inputs() { .zeroPoint = 0 }, { // sum9 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -8812,13 +8812,13 @@ const TestModel& get_test_model_3_all_tensors_as_inputs() { return model; } -const auto dummy_test_model_3_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs", get_test_model_3_all_tensors_as_inputs()); +const auto dummy_test_model_4_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs", get_test_model_4_all_tensors_as_inputs()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() { +const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -8867,7 +8867,7 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() .zeroPoint = 0 }, { // n9 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({3}), + .data = TestBuffer::createFromVector<int32_t>({4}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -8887,7 +8887,7 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() .zeroPoint = 0 }, { // sum9 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -8910,17 +8910,17 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param82 + }, { // param118 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -8940,17 +8940,17 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param83 + }, { // param119 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -9345,13 +9345,13 @@ const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal() return model; } -const auto dummy_test_model_3_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal()); +const auto dummy_test_model_4_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_3_all_outputs_as_internal() { +const TestModel& get_test_model_4_all_outputs_as_internal() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -9400,7 +9400,7 @@ const TestModel& get_test_model_3_all_outputs_as_internal() { .zeroPoint = 0 }, { // n9 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({3}), + .data = TestBuffer::createFromVector<int32_t>({4}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -9433,24 +9433,24 @@ const TestModel& get_test_model_3_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param84 + }, { // param120 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // sum9_new .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -9844,13 +9844,13 @@ const TestModel& get_test_model_3_all_outputs_as_internal() { return model; } -const auto dummy_test_model_3_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_3_all_outputs_as_internal", get_test_model_3_all_outputs_as_internal()); +const auto dummy_test_model_4_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_outputs_as_internal", get_test_model_4_all_outputs_as_internal()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_4() { +const TestModel& get_test_model_1_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -9882,7 +9882,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), .dimensions = {1, 2}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, @@ -9892,14 +9892,14 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // n12 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({4}), + .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -9919,7 +9919,7 @@ const TestModel& get_test_model_4() { .zeroPoint = 0 }, { // sum12 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -10082,7 +10082,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10102,7 +10102,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10112,7 +10112,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10122,7 +10122,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10268,7 +10268,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10278,7 +10278,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10288,7 +10288,7 @@ const TestModel& get_test_model_4() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10309,13 +10309,13 @@ const TestModel& get_test_model_4() { return model; } -const auto dummy_test_model_4 = TestModelManager::get().add("while_sum_of_powers_4", get_test_model_4()); +const auto dummy_test_model_1_2 = TestModelManager::get().add("while_sum_of_powers_1_2", get_test_model_1_2()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_4_all_inputs_as_internal() { +const TestModel& get_test_model_1_all_inputs_as_internal_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -10347,7 +10347,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), .dimensions = {1, 2}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, @@ -10357,14 +10357,14 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // n12 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({4}), + .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -10384,7 +10384,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .zeroPoint = 0 }, { // sum12 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -10407,17 +10407,17 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param88 + }, { // param124 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10581,7 +10581,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10601,7 +10601,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10611,7 +10611,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10621,7 +10621,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10767,7 +10767,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10777,7 +10777,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -10787,7 +10787,7 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -10808,13 +10808,13 @@ const TestModel& get_test_model_4_all_inputs_as_internal() { return model; } -const auto dummy_test_model_4_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_inputs_as_internal", get_test_model_4_all_inputs_as_internal()); +const auto dummy_test_model_1_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_inputs_as_internal_2", get_test_model_1_all_inputs_as_internal_2()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_4_all_tensors_as_inputs() { +const TestModel& get_test_model_1_all_tensors_as_inputs_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -10856,14 +10856,14 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // n12 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({4}), + .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -10883,7 +10883,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .zeroPoint = 0 }, { // sum12 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -11046,7 +11046,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11066,7 +11066,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11076,7 +11076,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11086,7 +11086,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11232,7 +11232,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11242,7 +11242,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11252,7 +11252,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11273,13 +11273,13 @@ const TestModel& get_test_model_4_all_tensors_as_inputs() { return model; } -const auto dummy_test_model_4_all_tensors_as_inputs = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs", get_test_model_4_all_tensors_as_inputs()); +const auto dummy_test_model_1_all_tensors_as_inputs_2 = TestModelManager::get().add("while_sum_of_powers_1_all_tensors_as_inputs_2", get_test_model_1_all_tensors_as_inputs_2()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() { +const TestModel& get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -11321,14 +11321,14 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // n12 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({4}), + .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -11348,7 +11348,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .zeroPoint = 0 }, { // sum12 .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -11371,17 +11371,17 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param89 + }, { // param125 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11401,17 +11401,17 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param90 + }, { // param126 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11579,7 +11579,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11599,7 +11599,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11609,7 +11609,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11619,7 +11619,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11765,7 +11765,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11775,7 +11775,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -11785,7 +11785,7 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -11806,13 +11806,13 @@ const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal() return model; } -const auto dummy_test_model_4_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal()); +const auto dummy_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_1_all_tensors_as_inputs_all_inputs_as_internal_2()); } // namespace generated_tests::while_sum_of_powers namespace generated_tests::while_sum_of_powers { -const TestModel& get_test_model_4_all_outputs_as_internal() { +const TestModel& get_test_model_1_all_outputs_as_internal_2() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, @@ -11844,7 +11844,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), .dimensions = {1, 2}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, @@ -11854,14 +11854,14 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // n12 .channelQuant = {}, - .data = TestBuffer::createFromVector<int32_t>({4}), + .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, @@ -11894,24 +11894,24 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<float>({0.0f}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 - }, { // param91 + }, { // param127 .channelQuant = {}, .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // sum12_new .channelQuant = {}, - .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .data = TestBuffer::createFromVector<float>({3.0f, 4.0f}), .dimensions = {1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, @@ -12078,7 +12078,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -12098,7 +12098,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -12108,7 +12108,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12118,7 +12118,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12264,7 +12264,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12274,7 +12274,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({1}), .dimensions = {1}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, @@ -12284,7 +12284,7 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { .data = TestBuffer::createFromVector<int32_t>({0}), .dimensions = {}, .isIgnored = false, - .lifetime = TestOperandLifeTime::CONSTANT_COPY, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, @@ -12305,7 +12305,7390 @@ const TestModel& get_test_model_4_all_outputs_as_internal() { return model; } -const auto dummy_test_model_4_all_outputs_as_internal = TestModelManager::get().add("while_sum_of_powers_4_all_outputs_as_internal", get_test_model_4_all_outputs_as_internal()); +const auto dummy_test_model_1_all_outputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_1_all_outputs_as_internal_2", get_test_model_1_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_2_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .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 + }, { // x25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({7.0f, 13.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i20 + .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 + }, { // n16 + .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 + }, { // x26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out10 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i21 + .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 + }, { // n17 + .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 + }, { // x27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi17 + .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 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j10 + .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 + }, { // i22 + .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 + }, { // x28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out11 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j11 + .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 + }, { // i23 + .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 + }, { // x29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_out5 + .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 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_2_2 = TestModelManager::get().add("while_sum_of_powers_2_2", get_test_model_2_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_2_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .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 + }, { // x25 + .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 + }, { // sum15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // x25_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param131 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i20 + .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 + }, { // n16 + .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 + }, { // x26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out10 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i21 + .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 + }, { // n17 + .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 + }, { // x27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi17 + .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 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j10 + .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 + }, { // i22 + .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 + }, { // x28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out11 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j11 + .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 + }, { // i23 + .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 + }, { // x29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_out5 + .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 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_2_all_inputs_as_internal_2", get_test_model_2_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_2_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4, 5}, + .operands = {{ // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init5 + .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 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .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 + }, { // x25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({7.0f, 13.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i20 + .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 + }, { // n16 + .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 + }, { // x26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out10 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i21 + .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 + }, { // n17 + .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 + }, { // x27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi17 + .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 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j10 + .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 + }, { // i22 + .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 + }, { // x28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out11 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j11 + .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 + }, { // i23 + .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 + }, { // x29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_out5 + .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 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_tensors_as_inputs_2 = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs_2", get_test_model_2_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7, 10}, + .operands = {{ // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init5 + .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 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .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 + }, { // x25 + .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 + }, { // sum15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({7.0f, 13.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_init5_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 + }, { // dummy36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param132 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // x25_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param133 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {10, 11, 12}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i20 + .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 + }, { // n16 + .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 + }, { // x26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out10 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i21 + .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 + }, { // n17 + .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 + }, { // x27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi17 + .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 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j10 + .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 + }, { // i22 + .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 + }, { // x28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out11 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j11 + .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 + }, { // i23 + .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 + }, { // x29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_out5 + .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 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_2_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_2_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_2_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param69 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param70 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param71 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n15 + .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 + }, { // x25 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum15 + .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 + }, { // dummy38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param134 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // sum15_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({7.0f, 13.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }, { + .inputs = {6, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i20 + .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 + }, { // n16 + .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 + }, { // x26 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out10 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum17 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i21 + .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 + }, { // n17 + .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 + }, { // x27 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param63 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param64 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param65 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi17 + .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 + }, { // param66 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param67 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param68 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi15 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j10 + .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 + }, { // i22 + .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 + }, { // x28 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out11 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi16 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j11 + .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 + }, { // i23 + .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 + }, { // x29 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out5 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_out5 + .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 + }, { // param60 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param61 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param62 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_2_all_outputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_2_all_outputs_as_internal_2", get_test_model_2_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_3_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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 + }, { // x30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({15.0f, 40.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i24 + .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 + }, { // n19 + .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 + }, { // x31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out12 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i25 + .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 + }, { // n20 + .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 + }, { // x32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi20 + .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 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j12 + .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 + }, { // i26 + .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 + }, { // x33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out13 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j13 + .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 + }, { // i27 + .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 + }, { // x34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_3_2 = TestModelManager::get().add("while_sum_of_powers_3_2", get_test_model_3_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_3_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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 + }, { // x30 + .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 + }, { // sum18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // x30_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy42 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param138 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i24 + .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 + }, { // n19 + .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 + }, { // x31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out12 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i25 + .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 + }, { // n20 + .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 + }, { // x32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi20 + .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 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j12 + .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 + }, { // i26 + .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 + }, { // x33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out13 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j13 + .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 + }, { // i27 + .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 + }, { // x34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_3_all_inputs_as_internal_2", get_test_model_3_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_3_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4, 5}, + .operands = {{ // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init6 + .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 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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 + }, { // x30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({15.0f, 40.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i24 + .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 + }, { // n19 + .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 + }, { // x31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out12 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i25 + .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 + }, { // n20 + .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 + }, { // x32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi20 + .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 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j12 + .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 + }, { // i26 + .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 + }, { // x33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out13 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j13 + .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 + }, { // i27 + .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 + }, { // x34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_tensors_as_inputs_2 = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs_2", get_test_model_3_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7, 10}, + .operands = {{ // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init6 + .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 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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 + }, { // x30 + .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 + }, { // sum18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({15.0f, 40.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_init6_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 + }, { // dummy43 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param139 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // x30_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy44 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param140 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {10, 11, 12}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i24 + .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 + }, { // n19 + .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 + }, { // x31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out12 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i25 + .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 + }, { // n20 + .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 + }, { // x32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi20 + .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 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j12 + .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 + }, { // i26 + .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 + }, { // x33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out13 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j13 + .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 + }, { // i27 + .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 + }, { // x34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_3_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_3_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_3_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param81 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param82 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param83 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n18 + .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 + }, { // x30 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum18 + .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 + }, { // dummy45 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param141 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // sum18_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({15.0f, 40.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }, { + .inputs = {6, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i24 + .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 + }, { // n19 + .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 + }, { // x31 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out12 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum20 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i25 + .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 + }, { // n20 + .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 + }, { // x32 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param75 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param76 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param77 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi20 + .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 + }, { // param78 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param79 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param80 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi18 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j12 + .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 + }, { // i26 + .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 + }, { // x33 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out13 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi19 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j13 + .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 + }, { // i27 + .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 + }, { // x34 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out6 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param72 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param73 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param74 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_3_all_outputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_3_all_outputs_as_internal_2", get_test_model_3_all_outputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_4_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param93 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param94 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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 + }, { // x35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({31.0f, 121.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i28 + .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 + }, { // n22 + .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 + }, { // x36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out14 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i29 + .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 + }, { // n23 + .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 + }, { // x37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi23 + .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 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param92 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j14 + .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 + }, { // i30 + .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 + }, { // x38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out15 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j15 + .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 + }, { // i31 + .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 + }, { // x39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_4_2 = TestModelManager::get().add("while_sum_of_powers_4_2", get_test_model_4_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_4_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7}, + .operands = {{ // param93 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param94 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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 + }, { // x35 + .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 + }, { // sum21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // x35_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy49 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param145 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i28 + .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 + }, { // n22 + .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 + }, { // x36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out14 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i29 + .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 + }, { // n23 + .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 + }, { // x37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi23 + .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 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param92 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j14 + .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 + }, { // i30 + .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 + }, { // x38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out15 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j15 + .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 + }, { // i31 + .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 + }, { // x39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_4_all_inputs_as_internal_2", get_test_model_4_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_4_all_tensors_as_inputs_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {2, 4, 5}, + .operands = {{ // param93 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param94 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init7 + .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 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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 + }, { // x35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({31.0f, 121.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i28 + .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 + }, { // n22 + .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 + }, { // x36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out14 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i29 + .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 + }, { // n23 + .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 + }, { // x37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi23 + .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 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param92 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j14 + .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 + }, { // i30 + .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 + }, { // x38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out15 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j15 + .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 + }, { // i31 + .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 + }, { // x39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_tensors_as_inputs_2 = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs_2", get_test_model_4_all_tensors_as_inputs_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 7, 10}, + .operands = {{ // param93 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param94 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init7 + .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 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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 + }, { // x35 + .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 + }, { // sum21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({31.0f, 121.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_init7_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_REFERENCE, + .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_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // x35_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // dummy51 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param147 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {7, 8, 9}, + .outputs = {2}, + .type = TestOperationType::ADD + }, { + .inputs = {10, 11, 12}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 1, 2, 3, 4, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }}, + .outputIndexes = {6} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i28 + .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 + }, { // n22 + .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 + }, { // x36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out14 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i29 + .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 + }, { // n23 + .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 + }, { // x37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi23 + .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 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param92 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j14 + .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 + }, { // i30 + .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 + }, { // x38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out15 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j15 + .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 + }, { // i31 + .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 + }, { // x39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_4_all_tensors_as_inputs_all_inputs_as_internal_2", get_test_model_4_all_tensors_as_inputs_all_inputs_as_internal_2()); + +} // namespace generated_tests::while_sum_of_powers + +namespace generated_tests::while_sum_of_powers { + +const TestModel& get_test_model_4_all_outputs_as_internal_2() { + static TestModel model = { + .expectFailure = false, + .expectedMultinomialDistributionTolerance = 0, + .isRelaxed = false, + .main = { + .inputIndexes = {4, 5}, + .operands = {{ // param93 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param94 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({1}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // sum_init7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({1.0f, 1.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param95 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // n21 + .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 + }, { // x35 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({2.0f, 3.0f}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum21 + .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 + }, { // dummy52 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({0.0f}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // param148 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // sum21_new + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({31.0f, 121.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, 5}, + .outputs = {6}, + .type = TestOperationType::WHILE + }, { + .inputs = {6, 7, 8}, + .outputs = {9}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {9} + }, + .minSupportedVersion = TestHalVersion::V1_3, + .referenced = {{ // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i28 + .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 + }, { // n22 + .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 + }, { // x36 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out14 + .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 = {4}, + .type = TestOperationType::LESS_EQUAL + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // sum23 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // i29 + .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 + }, { // n23 + .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 + }, { // x37 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 2, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // sum_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .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 + }, { // param87 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({2}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param88 + .channelQuant = {}, + .data = TestBuffer::createFromVector<uint32_t>({3}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::SUBGRAPH, + .zeroPoint = 0 + }, { // param89 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // xi23 + .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 + }, { // param90 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param91 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param92 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {6, 7, 3, 8, 1, 3}, + .outputs = {9}, + .type = TestOperationType::WHILE + }, { + .inputs = {1, 10, 11}, + .outputs = {5}, + .type = TestOperationType::ADD + }, { + .inputs = {0, 9, 12}, + .outputs = {4}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi21 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j14 + .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 + }, { // i30 + .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 + }, { // x38 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // out15 + .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 = {4}, + .type = TestOperationType::LESS + }}, + .outputIndexes = {4} + }, { // param + .inputIndexes = {0, 1, 2, 3}, + .operands = {{ // xi22 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j15 + .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 + }, { // i31 + .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 + }, { // x39 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // xi_out7 + .channelQuant = {}, + .data = TestBuffer::createFromVector<float>({}), + .dimensions = {1, 2}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, + .numberOfConsumers = 0, + .scale = 0.0f, + .type = TestOperandType::TENSOR_FLOAT32, + .zeroPoint = 0 + }, { // j_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 + }, { // param84 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }, { // param85 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({1}), + .dimensions = {1}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::TENSOR_INT32, + .zeroPoint = 0 + }, { // param86 + .channelQuant = {}, + .data = TestBuffer::createFromVector<int32_t>({0}), + .dimensions = {}, + .isIgnored = false, + .lifetime = TestOperandLifeTime::CONSTANT_REFERENCE, + .numberOfConsumers = 1, + .scale = 0.0f, + .type = TestOperandType::INT32, + .zeroPoint = 0 + }}, + .operations = {{ + .inputs = {0, 3, 6}, + .outputs = {4}, + .type = TestOperationType::MUL + }, { + .inputs = {1, 7, 8}, + .outputs = {5}, + .type = TestOperationType::ADD + }}, + .outputIndexes = {4, 5} + }} + }; + return model; +} + +const auto dummy_test_model_4_all_outputs_as_internal_2 = TestModelManager::get().add("while_sum_of_powers_4_all_outputs_as_internal_2", get_test_model_4_all_outputs_as_internal_2()); } // namespace generated_tests::while_sum_of_powers diff --git a/nn/runtime/test/specs/V1_3/while_fib.mod.py b/nn/runtime/test/specs/V1_3/while_fib.mod.py index 16a75dff0..9555c678d 100644 --- a/nn/runtime/test/specs/V1_3/while_fib.mod.py +++ b/nn/runtime/test/specs/V1_3/while_fib.mod.py @@ -103,9 +103,11 @@ def Test(n, fib): example.AddVariations("relaxed", "float16", quant8, quant8_signed) example.AddVariations(AllOutputsAsInternalCoverter()) -# Fibonacci numbers: 1 1 2 3 5 8 -Test(n=1, fib=[1, 1]) -Test(n=2, fib=[1, 2]) -Test(n=3, fib=[2, 3]) -Test(n=4, fib=[3, 5]) -Test(n=5, fib=[5, 8]) +for use_shm_for_weights in [False, True]: + Configuration.use_shm_for_weights = use_shm_for_weights + # Fibonacci numbers: 1 1 2 3 5 8 + Test(n=1, fib=[1, 1]) + Test(n=2, fib=[1, 2]) + Test(n=3, fib=[2, 3]) + Test(n=4, fib=[3, 5]) + Test(n=5, fib=[5, 8]) diff --git a/nn/runtime/test/specs/V1_3/while_sum_of_powers.mod.py b/nn/runtime/test/specs/V1_3/while_sum_of_powers.mod.py index 0adaec476..057f19808 100644 --- a/nn/runtime/test/specs/V1_3/while_sum_of_powers.mod.py +++ b/nn/runtime/test/specs/V1_3/while_sum_of_powers.mod.py @@ -102,8 +102,9 @@ def Test(x, n, sum): example = Example({x: x_data, n: [n_data], sum: sum_data}, name=str(n_data)) example.AddVariations(AllOutputsAsInternalCoverter()) -Test(x=[2, 3], n=1, sum=[1 + 2, 1 + 3]) -Test(x=[2, 3], n=1, sum=[1 + 2, 1 + 3]) -Test(x=[2, 3], n=2, sum=[1 + 2 + 4, 1 + 3 + 9]) -Test(x=[2, 3], n=3, sum=[1 + 2 + 4 + 8, 1 + 3 + 9 + 27]) -Test(x=[2, 3], n=4, sum=[1 + 2 + 4 + 8 + 16, 1 + 3 + 9 + 27 + 81]) +for use_shm_for_weights in [False, True]: + Configuration.use_shm_for_weights = use_shm_for_weights + Test(x=[2, 3], n=1, sum=[1 + 2, 1 + 3]) + Test(x=[2, 3], n=2, sum=[1 + 2 + 4, 1 + 3 + 9]) + Test(x=[2, 3], n=3, sum=[1 + 2 + 4 + 8, 1 + 3 + 9 + 27]) + Test(x=[2, 3], n=4, sum=[1 + 2 + 4 + 8 + 16, 1 + 3 + 9 + 27 + 81]) |