text: // Generated from lsh_projection_relaxed.mod.py
  // DO NOT EDIT
  // clang-format off
  #include "TestHarness.h"
  using namespace test_helper;  // NOLINT(google-build-using-namespace)
  
  namespace generated_tests::lsh_projection_relaxed {
  
  const TestModel& get_test_model() {
      static TestModel model = {
          .main = {
                  .operands = {{ // hash
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {4, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.123f, 0.456f, -0.321f, -0.654f, 1.234f, 5.678f, -4.321f, -8.765f})
                          }, { // lookup
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {3, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({12345, 54321, 67890, 9876, -12345678, -87654321})
                          }, { // weight
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.12f, 0.34f, 0.56f})
                          }, { // type_param
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({2})
                          }, { // output
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {8},
                              .numberOfConsumers = 0,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({1, 1, 1, 0, 1, 1, 1, 0})
                          }},
                  .operations = {{
                              .type = TestOperationType::LSH_PROJECTION,
                              .inputs = {0, 1, 2, 3},
                              .outputs = {4}
                          }},
                  .inputIndexes = {1, 2},
                  .outputIndexes = {4}
              },
          .referenced = {},
          .isRelaxed = true,
          .expectedMultinomialDistributionTolerance = 0,
          .expectFailure = false,
          .minSupportedVersion = TestHalVersion::UNKNOWN
      };
      return model;
  }
  
  const auto dummy_test_model = TestModelManager::get().add("lsh_projection_relaxed", get_test_model());
  
  }  // namespace generated_tests::lsh_projection_relaxed
  
  namespace generated_tests::lsh_projection_relaxed {
  
  const TestModel& get_test_model_all_inputs_as_internal() {
      static TestModel model = {
          .main = {
                  .operands = {{ // hash
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {4, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.123f, 0.456f, -0.321f, -0.654f, 1.234f, 5.678f, -4.321f, -8.765f})
                          }, { // lookup
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {3, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({12345, 54321, 67890, 9876, -12345678, -87654321})
                          }, { // weight
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({})
                          }, { // type_param
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({2})
                          }, { // output
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {8},
                              .numberOfConsumers = 0,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({1, 1, 1, 0, 1, 1, 1, 0})
                          }, { // weight_new
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.12f, 0.34f, 0.56f})
                          }, { // placeholder
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {1},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.0f})
                          }, { // param
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({0})
                          }},
                  .operations = {{
                              .type = TestOperationType::ADD,
                              .inputs = {5, 6, 7},
                              .outputs = {2}
                          }, {
                              .type = TestOperationType::LSH_PROJECTION,
                              .inputs = {0, 1, 2, 3},
                              .outputs = {4}
                          }},
                  .inputIndexes = {1, 5},
                  .outputIndexes = {4}
              },
          .referenced = {},
          .isRelaxed = true,
          .expectedMultinomialDistributionTolerance = 0,
          .expectFailure = false,
          .minSupportedVersion = TestHalVersion::UNKNOWN
      };
      return model;
  }
  
  const auto dummy_test_model_all_inputs_as_internal = TestModelManager::get().add("lsh_projection_relaxed_all_inputs_as_internal", get_test_model_all_inputs_as_internal());
  
  }  // namespace generated_tests::lsh_projection_relaxed
  
  namespace generated_tests::lsh_projection_relaxed {
  
  const TestModel& get_test_model_all_tensors_as_inputs() {
      static TestModel model = {
          .main = {
                  .operands = {{ // hash
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {4, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.123f, 0.456f, -0.321f, -0.654f, 1.234f, 5.678f, -4.321f, -8.765f})
                          }, { // lookup
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {3, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({12345, 54321, 67890, 9876, -12345678, -87654321})
                          }, { // weight
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.12f, 0.34f, 0.56f})
                          }, { // type_param
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({2})
                          }, { // output
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {8},
                              .numberOfConsumers = 0,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({1, 1, 1, 0, 1, 1, 1, 0})
                          }},
                  .operations = {{
                              .type = TestOperationType::LSH_PROJECTION,
                              .inputs = {0, 1, 2, 3},
                              .outputs = {4}
                          }},
                  .inputIndexes = {0, 1, 2},
                  .outputIndexes = {4}
              },
          .referenced = {},
          .isRelaxed = true,
          .expectedMultinomialDistributionTolerance = 0,
          .expectFailure = false,
          .minSupportedVersion = TestHalVersion::UNKNOWN
      };
      return model;
  }
  
  const auto dummy_test_model_all_tensors_as_inputs = TestModelManager::get().add("lsh_projection_relaxed_all_tensors_as_inputs", get_test_model_all_tensors_as_inputs());
  
  }  // namespace generated_tests::lsh_projection_relaxed
  
  namespace generated_tests::lsh_projection_relaxed {
  
  const TestModel& get_test_model_all_tensors_as_inputs_all_inputs_as_internal() {
      static TestModel model = {
          .main = {
                  .operands = {{ // hash
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {4, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.123f, 0.456f, -0.321f, -0.654f, 1.234f, 5.678f, -4.321f, -8.765f})
                          }, { // lookup
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {3, 2},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({12345, 54321, 67890, 9876, -12345678, -87654321})
                          }, { // weight
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({})
                          }, { // type_param
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({2})
                          }, { // output
                              .type = TestOperandType::TENSOR_INT32,
                              .dimensions = {8},
                              .numberOfConsumers = 0,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({1, 1, 1, 0, 1, 1, 1, 0})
                          }, { // weight_new
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {3},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.12f, 0.34f, 0.56f})
                          }, { // placeholder1
                              .type = TestOperandType::TENSOR_FLOAT32,
                              .dimensions = {1},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<float>({0.0f})
                          }, { // param1
                              .type = TestOperandType::INT32,
                              .dimensions = {},
                              .numberOfConsumers = 1,
                              .scale = 0.0f,
                              .zeroPoint = 0,
                              .lifetime = TestOperandLifeTime::CONSTANT_COPY,
                              .channelQuant = {},
                              .isIgnored = false,
                              .data = TestBuffer::createFromVector<int32_t>({0})
                          }},
                  .operations = {{
                              .type = TestOperationType::ADD,
                              .inputs = {5, 6, 7},
                              .outputs = {2}
                          }, {
                              .type = TestOperationType::LSH_PROJECTION,
                              .inputs = {0, 1, 2, 3},
                              .outputs = {4}
                          }},
                  .inputIndexes = {0, 1, 5},
                  .outputIndexes = {4}
              },
          .referenced = {},
          .isRelaxed = true,
          .expectedMultinomialDistributionTolerance = 0,
          .expectFailure = false,
          .minSupportedVersion = TestHalVersion::UNKNOWN
      };
      return model;
  }
  
  const auto dummy_test_model_all_tensors_as_inputs_all_inputs_as_internal = TestModelManager::get().add("lsh_projection_relaxed_all_tensors_as_inputs_all_inputs_as_internal", get_test_model_all_tensors_as_inputs_all_inputs_as_internal());
  
  }  // namespace generated_tests::lsh_projection_relaxed
  
  