// Generated from minimum.mod.py // DO NOT EDIT // clang-format off #include "TestHarness.h" using namespace test_helper; namespace generated_tests::minimum { const TestModel& get_test_model_simple() { static TestModel model = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input0_new .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input1_new .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy1 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param1 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = true, .main = { .inputIndexes = {0, 1}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::UNKNOWN, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = true, .main = { .inputIndexes = {3, 6}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input0_new .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.44f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy2 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param2 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input1_new .channelQuant = {}, .data = TestBuffer::createFromVector({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.43f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy3 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param3 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::UNKNOWN, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.440000057220459f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.4299999475479126f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.440000057220459f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, -1.0f, 11.0f, -3.0f, -1.440000057220459f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input0_new .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, 11.0f, -2.0f, -1.440000057220459f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // dummy4 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // param4 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input1_new .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({-1.0f, 0.0f, 1.0f, 12.0f, -3.0f, -1.4299999475479126f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // dummy5 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // param5 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({1, 0, -1, 11, -2, -1}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({-1, 0, 1, 12, -3, -1}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({-1, 0, -1, 11, -3, -1}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({129, 127, 125, 149, 123, 124}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({99, 100, 101, 112, 97, 99}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({80, 80, 80, 86, 78, 79}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 2.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 80 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input0 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // input1 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // output0 .channelQuant = {}, .data = TestBuffer::createFromVector({80, 80, 80, 86, 78, 79}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 2.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 80 }, { // input0_new .channelQuant = {}, .data = TestBuffer::createFromVector({129, 127, 125, 149, 123, 124}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // dummy6 .channelQuant = {}, .data = TestBuffer::createFromVector({127}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // param6 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input1_new .channelQuant = {}, .data = TestBuffer::createFromVector({99, 100, 101, 112, 97, 99}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // dummy7 .channelQuant = {}, .data = TestBuffer::createFromVector({100}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // param7 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input01_new .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy8 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param8 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input11_new .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy9 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param9 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = true, .main = { .inputIndexes = {0, 1}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::UNKNOWN, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = true, .main = { .inputIndexes = {3, 6}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 0.0f, -1.0f, -2.0f, -1.44f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // input01_new .channelQuant = {}, .data = TestBuffer::createFromVector({1.0f, 0.0f, -1.0f, -2.0f, -1.44f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy10 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param10 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input11_new .channelQuant = {}, .data = TestBuffer::createFromVector({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // dummy11 .channelQuant = {}, .data = TestBuffer::createFromVector({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT32, .zeroPoint = 0 }, { // param11 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::UNKNOWN, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.5f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.5f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 2.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // input01_new .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({1.0f, 0.0f, -1.0f, -2.0f, -1.440000057220459f, 11.0f}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // dummy12 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // param12 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input11_new .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.5f, 2.0f}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // dummy13 .channelQuant = {}, .data = TestBuffer::createFromVector<_Float16>({0.0f}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_FLOAT16, .zeroPoint = 0 }, { // param13 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({1, 0, -1, -2, -1, 11}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({0, 2}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({0, 0, -1, -2, -1, 2}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.0f, .type = TestOperandType::TENSOR_INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({129, 127, 125, 123, 124, 149}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({100, 102}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({80, 80, 80, 79, 79, 81}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 2.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 80 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input01 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // input11 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // output01 .channelQuant = {}, .data = TestBuffer::createFromVector({80, 80, 80, 79, 79, 81}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 2.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 80 }, { // input01_new .channelQuant = {}, .data = TestBuffer::createFromVector({129, 127, 125, 123, 124, 149}), .dimensions = {3, 1, 2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // dummy14 .channelQuant = {}, .data = TestBuffer::createFromVector({127}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 127 }, { // param14 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input11_new .channelQuant = {}, .data = TestBuffer::createFromVector({100, 102}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // dummy15 .channelQuant = {}, .data = TestBuffer::createFromVector({100}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 100 }, { // param15 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {0, 1}, .operands = {{ // input02 .channelQuant = {}, .data = TestBuffer::createFromVector({60, 128}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // input12 .channelQuant = {}, .data = TestBuffer::createFromVector({128, 200}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // output02 .channelQuant = {}, .data = TestBuffer::createFromVector({0, 128}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }}, .operations = {{ .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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 = { .expectFailure = false, .expectedMultinomialDistributionTolerance = 0, .isRelaxed = false, .main = { .inputIndexes = {3, 6}, .operands = {{ // input02 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // input12 .channelQuant = {}, .data = TestBuffer::createFromVector({}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // output02 .channelQuant = {}, .data = TestBuffer::createFromVector({0, 128}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT, .numberOfConsumers = 0, .scale = 0.5f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // input02_new .channelQuant = {}, .data = TestBuffer::createFromVector({60, 128}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // dummy16 .channelQuant = {}, .data = TestBuffer::createFromVector({128}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // param16 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }, { // input12_new .channelQuant = {}, .data = TestBuffer::createFromVector({128, 200}), .dimensions = {2}, .isIgnored = false, .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // dummy17 .channelQuant = {}, .data = TestBuffer::createFromVector({128}), .dimensions = {1}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 1.0f, .type = TestOperandType::TENSOR_QUANT8_ASYMM, .zeroPoint = 128 }, { // param17 .channelQuant = {}, .data = TestBuffer::createFromVector({0}), .dimensions = {}, .isIgnored = false, .lifetime = TestOperandLifeTime::CONSTANT_COPY, .numberOfConsumers = 1, .scale = 0.0f, .type = TestOperandType::INT32, .zeroPoint = 0 }}, .operations = {{ .inputs = {3, 4, 5}, .outputs = {0}, .type = TestOperationType::ADD }, { .inputs = {6, 7, 8}, .outputs = {1}, .type = TestOperationType::ADD }, { .inputs = {0, 1}, .outputs = {2}, .type = TestOperationType::MINIMUM }}, .outputIndexes = {2} }, .minSupportedVersion = TestHalVersion::V1_2, .referenced = {} }; 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