14d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang// Generated file (from: strided_slice.mod.py). Do not edit 24d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wangvoid CreateModel(Model *model) { 34d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang OperandType type2(Type::INT32, {}); 44d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang OperandType type3(Type::TENSOR_FLOAT32, {1, 2}); 54d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang OperandType type0(Type::TENSOR_FLOAT32, {2, 3}); 64d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang OperandType type1(Type::TENSOR_INT32, {2}); 74d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang // Phase 1, operands 84d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto input = model->addOperand(&type0); 94d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto begins = model->addOperand(&type1); 104d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto ends = model->addOperand(&type1); 114d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto strides = model->addOperand(&type1); 124d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto beginMask = model->addOperand(&type2); 134d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto endMask = model->addOperand(&type2); 14b66b5abcef40e88df6ac18ce7890372192102323Miao Wang auto shrinkAxisMask = model->addOperand(&type2); 154d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang auto output = model->addOperand(&type3); 164d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang // Phase 2, operations 174d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static int32_t begins_init[] = {0, 0}; 184d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->setOperandValue(begins, begins_init, sizeof(int32_t) * 2); 194d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static int32_t ends_init[] = {2, 3}; 204d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->setOperandValue(ends, ends_init, sizeof(int32_t) * 2); 214d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static int32_t strides_init[] = {2, 2}; 224d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->setOperandValue(strides, strides_init, sizeof(int32_t) * 2); 234d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static int32_t beginMask_init[] = {0}; 244d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->setOperandValue(beginMask, beginMask_init, sizeof(int32_t) * 1); 254d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static int32_t endMask_init[] = {0}; 264d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->setOperandValue(endMask, endMask_init, sizeof(int32_t) * 1); 27b66b5abcef40e88df6ac18ce7890372192102323Miao Wang static int32_t shrinkAxisMask_init[] = {0}; 28b66b5abcef40e88df6ac18ce7890372192102323Miao Wang model->setOperandValue(shrinkAxisMask, shrinkAxisMask_init, sizeof(int32_t) * 1); 29b66b5abcef40e88df6ac18ce7890372192102323Miao Wang model->addOperation(ANEURALNETWORKS_STRIDED_SLICE, {input, begins, ends, strides, beginMask, endMask, shrinkAxisMask}, {output}); 304d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang // Phase 3, inputs and outputs 314d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang model->identifyInputsAndOutputs( 324d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang {input}, 334d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang {output}); 344d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang assert(model->isValid()); 354d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang} 364d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang 374d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wangbool is_ignored(int i) { 384d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang static std::set<int> ignore = {}; 394d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang return ignore.find(i) != ignore.end(); 404d8c48b3cc55c0748ef87a0ba8bbbd3959680213Miao Wang} 41