// Generated from minimum.mod.py // DO NOT EDIT // clang-format off #include "TestHarness.h" using namespace test_helper; // NOLINT(google-build-using-namespace) namespace generated_tests::minimum { const TestModel& get_test_model_simple() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple = TestModelManager::get().add("minimum_simple", get_test_model_simple()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}) }, { // input0_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}) }, { // placeholder .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input1_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}) }, { // placeholder1 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param1 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_all_inputs_as_internal = TestModelManager::get().add("minimum_simple_all_inputs_as_internal", get_test_model_simple_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_relaxed() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = true, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::UNKNOWN }; return model; } const auto dummy_test_model_simple_relaxed = TestModelManager::get().add("minimum_simple_relaxed", get_test_model_simple_relaxed()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_relaxed_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}) }, { // input0_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}) }, { // placeholder2 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param2 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input1_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}) }, { // placeholder3 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param3 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = true, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::UNKNOWN }; return model; } const auto dummy_test_model_simple_relaxed_all_inputs_as_internal = TestModelManager::get().add("minimum_simple_relaxed_all_inputs_as_internal", get_test_model_simple_relaxed_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_float16() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.440000057220459f}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.4299999475479126f}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.440000057220459f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_float16 = TestModelManager::get().add("minimum_simple_float16", get_test_model_simple_float16()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_float16_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({}) }, { // input1 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({}) }, { // output0 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.440000057220459f}) }, { // input0_new .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.440000057220459f}) }, { // placeholder4 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.0f}) }, { // param4 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input1_new .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.4299999475479126f}) }, { // placeholder5 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.0f}) }, { // param5 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_float16_all_inputs_as_internal = TestModelManager::get().add("minimum_simple_float16_all_inputs_as_internal", get_test_model_simple_float16_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_int32() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_INT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1, 0, -1, 11, -2, -1}) }, { // input1 .type = TestOperandType::TENSOR_INT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1, 0, 1, 12, -3, -1}) }, { // output0 .type = TestOperandType::TENSOR_INT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({-1, 0, -1, 11, -3, -1}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_int32 = TestModelManager::get().add("minimum_simple_int32", get_test_model_simple_int32()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_quant8() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({129, 127, 125, 149, 123, 124}) }, { // input1 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({99, 100, 101, 112, 97, 99}) }, { // output0 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 2.0f, .zeroPoint = 80, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({80, 80, 80, 86, 78, 79}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_quant8 = TestModelManager::get().add("minimum_simple_quant8", get_test_model_simple_quant8()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_simple_quant8_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input0 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input1 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output0 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 2.0f, .zeroPoint = 80, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({80, 80, 80, 86, 78, 79}) }, { // input0_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({129, 127, 125, 149, 123, 124}) }, { // placeholder6 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({127}) }, { // param6 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input1_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({99, 100, 101, 112, 97, 99}) }, { // placeholder7 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({100}) }, { // param7 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_simple_quant8_all_inputs_as_internal = TestModelManager::get().add("minimum_simple_quant8_all_inputs_as_internal", get_test_model_simple_quant8_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 2.0f}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast = TestModelManager::get().add("minimum_broadcast", get_test_model_broadcast()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}) }, { // input01_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}) }, { // placeholder8 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param8 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input11_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 2.0f}) }, { // placeholder9 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param9 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_all_inputs_as_internal = TestModelManager::get().add("minimum_broadcast_all_inputs_as_internal", get_test_model_broadcast_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_relaxed() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 2.0f}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = true, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::UNKNOWN }; return model; } const auto dummy_test_model_broadcast_relaxed = TestModelManager::get().add("minimum_broadcast_relaxed", get_test_model_broadcast_relaxed()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_relaxed_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}) }, { // input01_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}) }, { // placeholder10 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param10 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input11_new .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.5f, 2.0f}) }, { // placeholder11 .type = TestOperandType::TENSOR_FLOAT32, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0.0f}) }, { // param11 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = true, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::UNKNOWN }; return model; } const auto dummy_test_model_broadcast_relaxed_all_inputs_as_internal = TestModelManager::get().add("minimum_broadcast_relaxed_all_inputs_as_internal", get_test_model_broadcast_relaxed_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_float16() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 11.0f}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.5f, 2.0f}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.5f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 2.0f}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_float16 = TestModelManager::get().add("minimum_broadcast_float16", get_test_model_broadcast_float16()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_float16_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({}) }, { // input11 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({}) }, { // output01 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.5f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 2.0f}) }, { // input01_new .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 11.0f}) }, { // placeholder12 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.0f}) }, { // param12 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input11_new .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.5f, 2.0f}) }, { // placeholder13 .type = TestOperandType::TENSOR_FLOAT16, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector<_Float16>({0.0f}) }, { // param13 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_float16_all_inputs_as_internal = TestModelManager::get().add("minimum_broadcast_float16_all_inputs_as_internal", get_test_model_broadcast_float16_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_int32() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_INT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({1, 0, -1, -2, -1, 11}) }, { // input11 .type = TestOperandType::TENSOR_INT32, .dimensions = {2}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0, 2}) }, { // output01 .type = TestOperandType::TENSOR_INT32, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0, 0, -1, -2, -1, 2}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_int32 = TestModelManager::get().add("minimum_broadcast_int32", get_test_model_broadcast_int32()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_quant8() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({129, 127, 125, 123, 124, 149}) }, { // input11 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({100, 102}) }, { // output01 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 2.0f, .zeroPoint = 80, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({80, 80, 80, 79, 79, 81}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_quant8 = TestModelManager::get().add("minimum_broadcast_quant8", get_test_model_broadcast_quant8()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_broadcast_quant8_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input01 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input11 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output01 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 0, .scale = 2.0f, .zeroPoint = 80, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({80, 80, 80, 79, 79, 81}) }, { // input01_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {3, 1, 2}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({129, 127, 125, 123, 124, 149}) }, { // placeholder14 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 0.5f, .zeroPoint = 127, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({127}) }, { // param14 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input11_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({100, 102}) }, { // placeholder15 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 100, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({100}) }, { // param15 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_broadcast_quant8_all_inputs_as_internal = TestModelManager::get().add("minimum_broadcast_quant8_all_inputs_as_internal", get_test_model_broadcast_quant8_all_inputs_as_internal()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_overflow() { static TestModel model = { .main = { .operands = {{ // input02 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({60, 128}) }, { // input12 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({128, 200}) }, { // output02 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 0, .scale = 0.5f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0, 128}) }}, .operations = {{ .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {0, 1}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_overflow = TestModelManager::get().add("minimum_overflow", get_test_model_overflow()); } // namespace generated_tests::minimum namespace generated_tests::minimum { const TestModel& get_test_model_overflow_all_inputs_as_internal() { static TestModel model = { .main = { .operands = {{ // input02 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // input12 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({}) }, { // output02 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 0, .scale = 0.5f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0, 128}) }, { // input02_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({60, 128}) }, { // placeholder16 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({128}) }, { // param16 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }, { // input12_new .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {2}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({128, 200}) }, { // placeholder17 .type = TestOperandType::TENSOR_QUANT8_ASYMM, .dimensions = {1}, .numberOfConsumers = 1, .scale = 1.0f, .zeroPoint = 128, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({128}) }, { // param17 .type = TestOperandType::INT32, .dimensions = {}, .numberOfConsumers = 1, .scale = 0.0f, .zeroPoint = 0, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .channelQuant = {}, .isIgnored = false, .data = TestBuffer::createFromVector({0}) }}, .operations = {{ .type = TestOperationType::ADD, .inputs = {3, 4, 5}, .outputs = {0} }, { .type = TestOperationType::ADD, .inputs = {6, 7, 8}, .outputs = {1} }, { .type = TestOperationType::MINIMUM, .inputs = {0, 1}, .outputs = {2} }}, .inputIndexes = {3, 6}, .outputIndexes = {2} }, .referenced = {}, .isRelaxed = false, .expectedMultinomialDistributionTolerance = 0, .expectFailure = false, .minSupportedVersion = TestHalVersion::V1_2 }; return model; } const auto dummy_test_model_overflow_all_inputs_as_internal = TestModelManager::get().add("minimum_overflow_all_inputs_as_internal", get_test_model_overflow_all_inputs_as_internal()); } // namespace generated_tests::minimum