1 /**
2 * Copyright 2024 Huawei Technologies Co., Ltd
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 #include "mindir.h"
18 #include "utils.h"
19 #include "schema/model_generated.h"
20 #include "mindir_memory_manager.h"
21
22 namespace mindspore {
23 namespace lite {
24 // ********** Depend **********
MindIR_Depend_CreatePrimitive()25 PrimitivePtr MindIR_Depend_CreatePrimitive() {
26 flatbuffers::FlatBufferBuilder fbb;
27 auto ops_offset = schema::CreateDepend(fbb);
28 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_DEPEND), ops_offset.o);
29 fbb.Finish(prim_offset);
30 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
31 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
32 return ret_value;
33 }
34
35 // ********** Dropout **********
MindIR_Dropout_CreatePrimitive(float keep_prob)36 PrimitivePtr MindIR_Dropout_CreatePrimitive(float keep_prob) {
37 flatbuffers::FlatBufferBuilder fbb;
38 auto ops_offset = schema::CreateDropout(fbb, keep_prob);
39 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_DROPOUT), ops_offset.o);
40 fbb.Finish(prim_offset);
41 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
42 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
43 return ret_value;
44 }
45
MindIR_Dropout_GetKeepProb(ConstPrimitivePtr primitive)46 float MindIR_Dropout_GetKeepProb(ConstPrimitivePtr primitive) {
47 if (primitive != nullptr) {
48 auto prim = static_cast<const schema::Primitive *>(primitive);
49 auto value = prim->value_as_Dropout();
50 if (prim != nullptr && value != nullptr) {
51 return value->keep_prob();
52 } else {
53 return .0;
54 }
55 } else {
56 return .0;
57 }
58 }
59
MindIR_Dropout_SetKeepProb(PrimitivePtr * primitive,float keep_prob)60 void MindIR_Dropout_SetKeepProb(PrimitivePtr *primitive, float keep_prob) {
61 if (primitive != nullptr && *primitive != nullptr) {
62 auto prim = static_cast<schema::Primitive *>(*primitive);
63 auto value = prim->value_as_Dropout();
64 if (prim != nullptr && value != nullptr) {
65 flatbuffers::FlatBufferBuilder fbb;
66 auto ops_offset = schema::CreateDropout(fbb, keep_prob);
67 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_DROPOUT), ops_offset.o);
68 fbb.Finish(prim_offset);
69 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim);
70 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
71 *primitive = ret_value;
72 }
73 }
74 }
75
76 // ********** Elu **********
MindIR_Elu_CreatePrimitive(float alpha)77 PrimitivePtr MindIR_Elu_CreatePrimitive(float alpha) {
78 flatbuffers::FlatBufferBuilder fbb;
79 auto ops_offset = schema::CreateElu(fbb, alpha);
80 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_ELU), ops_offset.o);
81 fbb.Finish(prim_offset);
82 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
83 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
84 return ret_value;
85 }
86
MindIR_Elu_GetAlpha(ConstPrimitivePtr primitive)87 float MindIR_Elu_GetAlpha(ConstPrimitivePtr primitive) {
88 if (primitive != nullptr) {
89 auto prim = static_cast<const schema::Primitive *>(primitive);
90 auto value = prim->value_as_Elu();
91 if (prim != nullptr && value != nullptr) {
92 return value->alpha();
93 } else {
94 return .0;
95 }
96 } else {
97 return .0;
98 }
99 }
100
MindIR_Elu_SetAlpha(PrimitivePtr * primitive,float alpha)101 void MindIR_Elu_SetAlpha(PrimitivePtr *primitive, float alpha) {
102 if (primitive != nullptr && *primitive != nullptr) {
103 auto prim = static_cast<schema::Primitive *>(*primitive);
104 auto value = prim->value_as_Elu();
105 if (prim != nullptr && value != nullptr) {
106 flatbuffers::FlatBufferBuilder fbb;
107 auto ops_offset = schema::CreateElu(fbb, alpha);
108 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_ELU), ops_offset.o);
109 fbb.Finish(prim_offset);
110 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim);
111 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
112 *primitive = ret_value;
113 }
114 }
115 }
116
117 // ********** EmbeddingLookupFusion **********
MindIR_EmbeddingLookupFusion_CreatePrimitive(float max_norm)118 PrimitivePtr MindIR_EmbeddingLookupFusion_CreatePrimitive(float max_norm) {
119 flatbuffers::FlatBufferBuilder fbb;
120 auto ops_offset = schema::CreateEmbeddingLookupFusion(fbb, max_norm);
121 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_EMBEDDING_LOOKUP_FUSION), ops_offset.o);
122 fbb.Finish(prim_offset);
123 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
124 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
125 return ret_value;
126 }
127
MindIR_EmbeddingLookupFusion_GetMaxNorm(ConstPrimitivePtr primitive)128 float MindIR_EmbeddingLookupFusion_GetMaxNorm(ConstPrimitivePtr primitive) {
129 if (primitive != nullptr) {
130 auto prim = static_cast<const schema::Primitive *>(primitive);
131 auto value = prim->value_as_EmbeddingLookupFusion();
132 if (prim != nullptr && value != nullptr) {
133 return value->max_norm();
134 } else {
135 return .0;
136 }
137 } else {
138 return .0;
139 }
140 }
141
MindIR_EmbeddingLookupFusion_SetMaxNorm(PrimitivePtr * primitive,float max_norm)142 void MindIR_EmbeddingLookupFusion_SetMaxNorm(PrimitivePtr *primitive, float max_norm) {
143 if (primitive != nullptr && *primitive != nullptr) {
144 auto prim = static_cast<schema::Primitive *>(*primitive);
145 auto value = prim->value_as_EmbeddingLookupFusion();
146 if (prim != nullptr && value != nullptr) {
147 flatbuffers::FlatBufferBuilder fbb;
148 auto ops_offset = schema::CreateEmbeddingLookupFusion(fbb, max_norm);
149 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_EMBEDDING_LOOKUP_FUSION), ops_offset.o);
150 fbb.Finish(prim_offset);
151 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim);
152 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
153 *primitive = ret_value;
154 }
155 }
156 }
157
158 // ********** FakeQuantWithMinMaxVars **********
MindIR_FakeQuantWithMinMaxVars_CreatePrimitive(int64_t num_bits,bool narrow_range)159 PrimitivePtr MindIR_FakeQuantWithMinMaxVars_CreatePrimitive(int64_t num_bits, bool narrow_range) {
160 flatbuffers::FlatBufferBuilder fbb;
161 auto ops_offset = schema::CreateFakeQuantWithMinMaxVars(fbb, num_bits, narrow_range);
162 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS), ops_offset.o);
163 fbb.Finish(prim_offset);
164 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
165 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
166 return ret_value;
167 }
168
MindIR_FakeQuantWithMinMaxVars_GetNumBits(ConstPrimitivePtr primitive)169 int64_t MindIR_FakeQuantWithMinMaxVars_GetNumBits(ConstPrimitivePtr primitive) {
170 if (primitive != nullptr) {
171 auto prim = static_cast<const schema::Primitive *>(primitive);
172 auto value = prim->value_as_FakeQuantWithMinMaxVars();
173 if (prim != nullptr && value != nullptr) {
174 return value->num_bits();
175 } else {
176 return 0;
177 }
178 } else {
179 return 0;
180 }
181 }
182
MindIR_FakeQuantWithMinMaxVars_SetNumBits(PrimitivePtr * primitive,int64_t num_bits)183 void MindIR_FakeQuantWithMinMaxVars_SetNumBits(PrimitivePtr *primitive, int64_t num_bits) {
184 if (primitive != nullptr && *primitive != nullptr) {
185 auto prim = static_cast<schema::Primitive *>(*primitive);
186 auto value = prim->value_as_FakeQuantWithMinMaxVars();
187 if (prim != nullptr && value != nullptr) {
188 flatbuffers::FlatBufferBuilder fbb;
189 auto ops_offset = schema::CreateFakeQuantWithMinMaxVars(fbb, num_bits, value->narrow_range());
190 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS), ops_offset.o);
191 fbb.Finish(prim_offset);
192 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
193 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
194 free(*primitive);
195 *primitive = ret_value;
196 }
197 }
198 }
199
MindIR_FakeQuantWithMinMaxVars_GetNarrowRange(ConstPrimitivePtr primitive)200 bool MindIR_FakeQuantWithMinMaxVars_GetNarrowRange(ConstPrimitivePtr primitive) {
201 if (primitive != nullptr) {
202 auto prim = static_cast<const schema::Primitive *>(primitive);
203 auto value = prim->value_as_FakeQuantWithMinMaxVars();
204 if (prim != nullptr && value != nullptr) {
205 return value->narrow_range();
206 } else {
207 return false;
208 }
209 } else {
210 return false;
211 }
212 }
213
MindIR_FakeQuantWithMinMaxVars_SetNarrowRange(PrimitivePtr * primitive,bool narrow_range)214 void MindIR_FakeQuantWithMinMaxVars_SetNarrowRange(PrimitivePtr *primitive, bool narrow_range) {
215 if (primitive != nullptr && *primitive != nullptr) {
216 auto prim = static_cast<schema::Primitive *>(*primitive);
217 auto value = prim->value_as_FakeQuantWithMinMaxVars();
218 if (prim != nullptr && value != nullptr) {
219 flatbuffers::FlatBufferBuilder fbb;
220 auto ops_offset = schema::CreateFakeQuantWithMinMaxVars(fbb, value->num_bits(), narrow_range);
221 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS), ops_offset.o);
222 fbb.Finish(prim_offset);
223 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
224 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
225 free(*primitive);
226 *primitive = ret_value;
227 }
228 }
229 }
230
231 // ********** FakeQuantWithMinMaxVarsPerChannel **********
MindIR_FakeQuantWithMinMaxVarsPerChannel_CreatePrimitive(int64_t num_bits,bool narrow_range)232 PrimitivePtr MindIR_FakeQuantWithMinMaxVarsPerChannel_CreatePrimitive(int64_t num_bits, bool narrow_range) {
233 flatbuffers::FlatBufferBuilder fbb;
234 auto ops_offset = schema::CreateFakeQuantWithMinMaxVarsPerChannel(fbb, num_bits, narrow_range);
235 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS_PER_CHANNEL), ops_offset.o);
236 fbb.Finish(prim_offset);
237 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
238 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
239 return ret_value;
240 }
241
MindIR_FakeQuantWithMinMaxVarsPerChannel_GetNumBits(ConstPrimitivePtr primitive)242 int64_t MindIR_FakeQuantWithMinMaxVarsPerChannel_GetNumBits(ConstPrimitivePtr primitive) {
243 if (primitive != nullptr) {
244 auto prim = static_cast<const schema::Primitive *>(primitive);
245 auto value = prim->value_as_FakeQuantWithMinMaxVarsPerChannel();
246 if (prim != nullptr && value != nullptr) {
247 return value->num_bits();
248 } else {
249 return 0;
250 }
251 } else {
252 return 0;
253 }
254 }
255
MindIR_FakeQuantWithMinMaxVarsPerChannel_SetNumBits(PrimitivePtr * primitive,int64_t num_bits)256 void MindIR_FakeQuantWithMinMaxVarsPerChannel_SetNumBits(PrimitivePtr *primitive, int64_t num_bits) {
257 if (primitive != nullptr && *primitive != nullptr) {
258 auto prim = static_cast<schema::Primitive *>(*primitive);
259 auto value = prim->value_as_FakeQuantWithMinMaxVarsPerChannel();
260 if (prim != nullptr && value != nullptr) {
261 flatbuffers::FlatBufferBuilder fbb;
262 auto ops_offset = schema::CreateFakeQuantWithMinMaxVarsPerChannel(fbb, num_bits, value->narrow_range());
263 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS_PER_CHANNEL), ops_offset.o);
264 fbb.Finish(prim_offset);
265 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
266 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
267 free(*primitive);
268 *primitive = ret_value;
269 }
270 }
271 }
272
MindIR_FakeQuantWithMinMaxVarsPerChannel_GetNarrowRange(ConstPrimitivePtr primitive)273 bool MindIR_FakeQuantWithMinMaxVarsPerChannel_GetNarrowRange(ConstPrimitivePtr primitive) {
274 if (primitive != nullptr) {
275 auto prim = static_cast<const schema::Primitive *>(primitive);
276 auto value = prim->value_as_FakeQuantWithMinMaxVarsPerChannel();
277 if (prim != nullptr && value != nullptr) {
278 return value->narrow_range();
279 } else {
280 return false;
281 }
282 } else {
283 return false;
284 }
285 }
286
MindIR_FakeQuantWithMinMaxVarsPerChannel_SetNarrowRange(PrimitivePtr * primitive,bool narrow_range)287 void MindIR_FakeQuantWithMinMaxVarsPerChannel_SetNarrowRange(PrimitivePtr *primitive, bool narrow_range) {
288 if (primitive != nullptr && *primitive != nullptr) {
289 auto prim = static_cast<schema::Primitive *>(*primitive);
290 auto value = prim->value_as_FakeQuantWithMinMaxVarsPerChannel();
291 if (prim != nullptr && value != nullptr) {
292 flatbuffers::FlatBufferBuilder fbb;
293 auto ops_offset = schema::CreateFakeQuantWithMinMaxVarsPerChannel(fbb, value->num_bits(), narrow_range);
294 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FAKE_QUANT_WITH_MIN_MAX_VARS_PER_CHANNEL), ops_offset.o);
295 fbb.Finish(prim_offset);
296 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
297 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
298 free(*primitive);
299 *primitive = ret_value;
300 }
301 }
302 }
303
304 // ********** FftReal **********
MindIR_FftReal_CreatePrimitive()305 PrimitivePtr MindIR_FftReal_CreatePrimitive() {
306 flatbuffers::FlatBufferBuilder fbb;
307 auto ops_offset = schema::CreateFftReal(fbb);
308 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FFT_REAL), ops_offset.o);
309 fbb.Finish(prim_offset);
310 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
311 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
312 return ret_value;
313 }
314
315 // ********** FftImag **********
MindIR_FftImag_CreatePrimitive()316 PrimitivePtr MindIR_FftImag_CreatePrimitive() {
317 flatbuffers::FlatBufferBuilder fbb;
318 auto ops_offset = schema::CreateFftImag(fbb);
319 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FFT_IMAG), ops_offset.o);
320 fbb.Finish(prim_offset);
321 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
322 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
323 return ret_value;
324 }
325
326 // ********** FloorDiv **********
MindIR_FloorDiv_CreatePrimitive()327 PrimitivePtr MindIR_FloorDiv_CreatePrimitive() {
328 flatbuffers::FlatBufferBuilder fbb;
329 auto ops_offset = schema::CreateFloorDiv(fbb);
330 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FLOOR_DIV), ops_offset.o);
331 fbb.Finish(prim_offset);
332 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
333 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
334 return ret_value;
335 }
336
337 // ********** FloorMod **********
MindIR_FloorMod_CreatePrimitive()338 PrimitivePtr MindIR_FloorMod_CreatePrimitive() {
339 flatbuffers::FlatBufferBuilder fbb;
340 auto ops_offset = schema::CreateFloorMod(fbb);
341 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_FLOOR_MOD), ops_offset.o);
342 fbb.Finish(prim_offset);
343 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
344 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
345 return ret_value;
346 }
347
348 // ********** HashtableLookup **********
MindIR_HashtableLookup_CreatePrimitive()349 PrimitivePtr MindIR_HashtableLookup_CreatePrimitive() {
350 flatbuffers::FlatBufferBuilder fbb;
351 auto ops_offset = schema::CreateHashtableLookup(fbb);
352 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_HASHTABLE_LOOKUP), ops_offset.o);
353 fbb.Finish(prim_offset);
354 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
355 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
356 return ret_value;
357 }
358
359 // ********** LpNormalization **********
MindIR_LpNormalization_CreatePrimitive(int64_t axis,int64_t p)360 PrimitivePtr MindIR_LpNormalization_CreatePrimitive(int64_t axis, int64_t p) {
361 flatbuffers::FlatBufferBuilder fbb;
362 auto ops_offset = schema::CreateLpNormalization(fbb, axis, p);
363 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LP_NORMALIZATION), ops_offset.o);
364 fbb.Finish(prim_offset);
365 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
366 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
367 return ret_value;
368 }
369
MindIR_LpNormalization_GetAxis(ConstPrimitivePtr primitive)370 int64_t MindIR_LpNormalization_GetAxis(ConstPrimitivePtr primitive) {
371 if (primitive != nullptr) {
372 auto prim = static_cast<const schema::Primitive *>(primitive);
373 auto value = prim->value_as_LpNormalization();
374 if (prim != nullptr && value != nullptr) {
375 return value->axis();
376 } else {
377 return 0;
378 }
379 } else {
380 return 0;
381 }
382 }
383
MindIR_LpNormalization_SetAxis(PrimitivePtr * primitive,int64_t axis)384 void MindIR_LpNormalization_SetAxis(PrimitivePtr *primitive, int64_t axis) {
385 if (primitive != nullptr && *primitive != nullptr) {
386 auto prim = static_cast<schema::Primitive *>(*primitive);
387 auto value = prim->value_as_LpNormalization();
388 if (prim != nullptr && value != nullptr) {
389 flatbuffers::FlatBufferBuilder fbb;
390 auto ops_offset = schema::CreateLpNormalization(fbb, axis, value->p());
391 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LP_NORMALIZATION), ops_offset.o);
392 fbb.Finish(prim_offset);
393 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim);
394 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
395 *primitive = ret_value;
396 }
397 }
398 }
399
MindIR_LpNormalization_GetP(ConstPrimitivePtr primitive)400 int64_t MindIR_LpNormalization_GetP(ConstPrimitivePtr primitive) {
401 if (primitive != nullptr) {
402 auto prim = static_cast<const schema::Primitive *>(primitive);
403 auto value = prim->value_as_LpNormalization();
404 if (prim != nullptr && value != nullptr) {
405 return value->p();
406 } else {
407 return 0;
408 }
409 } else {
410 return 0;
411 }
412 }
413
MindIR_LpNormalization_SetP(PrimitivePtr * primitive,int64_t p)414 void MindIR_LpNormalization_SetP(PrimitivePtr *primitive, int64_t p) {
415 if (primitive != nullptr && *primitive != nullptr) {
416 auto prim = static_cast<schema::Primitive *>(*primitive);
417 auto value = prim->value_as_LpNormalization();
418 if (prim != nullptr && value != nullptr) {
419 flatbuffers::FlatBufferBuilder fbb;
420 auto ops_offset = schema::CreateLpNormalization(fbb, value->axis(), p);
421 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LP_NORMALIZATION), ops_offset.o);
422 fbb.Finish(prim_offset);
423 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim);
424 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
425 *primitive = ret_value;
426 }
427 }
428 }
429
430 // ********** LshProjection **********
MindIR_LshProjection_CreatePrimitive(LshProjectionType type)431 PrimitivePtr MindIR_LshProjection_CreatePrimitive(LshProjectionType type) {
432 flatbuffers::FlatBufferBuilder fbb;
433 auto ops_offset = schema::CreateLshProjection(fbb, static_cast<schema::LshProjectionType>(type));
434 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LSH_PROJECTION), ops_offset.o);
435 fbb.Finish(prim_offset);
436 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
437 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
438 return ret_value;
439 }
440
MindIR_LshProjection_GetType(ConstPrimitivePtr primitive)441 LshProjectionType MindIR_LshProjection_GetType(ConstPrimitivePtr primitive) {
442 if (primitive != nullptr) {
443 auto prim = static_cast<const schema::Primitive *>(primitive);
444 auto value = prim->value_as_LshProjection();
445 if (prim != nullptr && value != nullptr) {
446 return static_cast<LshProjectionType>(value->type());
447 } else {
448 LshProjectionType en = static_cast<LshProjectionType>(0);
449 return en;
450 }
451 } else {
452 LshProjectionType en = static_cast<LshProjectionType>(0);
453 return en;
454 }
455 }
456
MindIR_LshProjection_SetType(PrimitivePtr * primitive,LshProjectionType type)457 void MindIR_LshProjection_SetType(PrimitivePtr *primitive, LshProjectionType type) {
458 if (primitive != nullptr && *primitive != nullptr) {
459 auto prim = static_cast<schema::Primitive *>(*primitive);
460 auto value = prim->value_as_LshProjection();
461 if (prim != nullptr && value != nullptr) {
462 flatbuffers::FlatBufferBuilder fbb;
463 auto ops_offset = schema::CreateLshProjection(fbb, static_cast<schema::LshProjectionType>(type));
464 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LSH_PROJECTION), ops_offset.o);
465 fbb.Finish(prim_offset);
466 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
467 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
468 free(*primitive);
469 *primitive = ret_value;
470 }
471 }
472 }
473
474 // ********** SwitchLayer **********
MindIR_SwitchLayer_CreatePrimitive()475 PrimitivePtr MindIR_SwitchLayer_CreatePrimitive() {
476 flatbuffers::FlatBufferBuilder fbb;
477 auto ops_offset = schema::CreateSwitchLayer(fbb);
478 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SWITCH_LAYER), ops_offset.o);
479 fbb.Finish(prim_offset);
480 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
481 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
482 return ret_value;
483 }
484
485 // ********** Mfcc **********
MindIR_Mfcc_CreatePrimitive(float freq_upper_limit,float freq_lower_limit,int64_t filter_bank_channel_num,int64_t dct_coeff_num)486 PrimitivePtr MindIR_Mfcc_CreatePrimitive(float freq_upper_limit, float freq_lower_limit, int64_t filter_bank_channel_num, int64_t dct_coeff_num) {
487 flatbuffers::FlatBufferBuilder fbb;
488 auto ops_offset = schema::CreateMfcc(fbb, freq_upper_limit, freq_lower_limit, filter_bank_channel_num, dct_coeff_num);
489 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_MFCC), ops_offset.o);
490 fbb.Finish(prim_offset);
491 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
492 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
493 return ret_value;
494 }
495
MindIR_Mfcc_GetFreqUpperLimit(ConstPrimitivePtr primitive)496 float MindIR_Mfcc_GetFreqUpperLimit(ConstPrimitivePtr primitive) {
497 if (primitive != nullptr) {
498 auto prim = static_cast<const schema::Primitive *>(primitive);
499 auto value = prim->value_as_Mfcc();
500 if (prim != nullptr && value != nullptr) {
501 return value->freq_upper_limit();
502 } else {
503 return .0;
504 }
505 } else {
506 return .0;
507 }
508 }
509
MindIR_Mfcc_SetFreqUpperLimit(PrimitivePtr * primitive,float freq_upper_limit)510 void MindIR_Mfcc_SetFreqUpperLimit(PrimitivePtr *primitive, float freq_upper_limit) {
511 if (primitive != nullptr && *primitive != nullptr) {
512 auto prim = static_cast<schema::Primitive *>(*primitive);
513 auto value = prim->value_as_Mfcc();
514 if (prim != nullptr && value != nullptr) {
515 flatbuffers::FlatBufferBuilder fbb;
516 auto ops_offset = schema::CreateMfcc(fbb, freq_upper_limit, value->freq_lower_limit(), value->filter_bank_channel_num(), value->dct_coeff_num());
517 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_MFCC), ops_offset.o);
518 fbb.Finish(prim_offset);
519 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
520 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
521 free(*primitive);
522 *primitive = ret_value;
523 }
524 }
525 }
526
MindIR_Mfcc_GetFreqLowerLimit(ConstPrimitivePtr primitive)527 float MindIR_Mfcc_GetFreqLowerLimit(ConstPrimitivePtr primitive) {
528 if (primitive != nullptr) {
529 auto prim = static_cast<const schema::Primitive *>(primitive);
530 auto value = prim->value_as_Mfcc();
531 if (prim != nullptr && value != nullptr) {
532 return value->freq_lower_limit();
533 } else {
534 return .0;
535 }
536 } else {
537 return .0;
538 }
539 }
540
MindIR_Mfcc_SetFreqLowerLimit(PrimitivePtr * primitive,float freq_lower_limit)541 void MindIR_Mfcc_SetFreqLowerLimit(PrimitivePtr *primitive, float freq_lower_limit) {
542 if (primitive != nullptr && *primitive != nullptr) {
543 auto prim = static_cast<schema::Primitive *>(*primitive);
544 auto value = prim->value_as_Mfcc();
545 if (prim != nullptr && value != nullptr) {
546 flatbuffers::FlatBufferBuilder fbb;
547 auto ops_offset = schema::CreateMfcc(fbb, value->freq_upper_limit(), freq_lower_limit, value->filter_bank_channel_num(), value->dct_coeff_num());
548 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_MFCC), ops_offset.o);
549 fbb.Finish(prim_offset);
550 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
551 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
552 free(*primitive);
553 *primitive = ret_value;
554 }
555 }
556 }
557
MindIR_Mfcc_GetFilterBankChannelNum(ConstPrimitivePtr primitive)558 int64_t MindIR_Mfcc_GetFilterBankChannelNum(ConstPrimitivePtr primitive) {
559 if (primitive != nullptr) {
560 auto prim = static_cast<const schema::Primitive *>(primitive);
561 auto value = prim->value_as_Mfcc();
562 if (prim != nullptr && value != nullptr) {
563 return value->filter_bank_channel_num();
564 } else {
565 return 0;
566 }
567 } else {
568 return 0;
569 }
570 }
571
MindIR_Mfcc_SetFilterBankChannelNum(PrimitivePtr * primitive,int64_t filter_bank_channel_num)572 void MindIR_Mfcc_SetFilterBankChannelNum(PrimitivePtr *primitive, int64_t filter_bank_channel_num) {
573 if (primitive != nullptr && *primitive != nullptr) {
574 auto prim = static_cast<schema::Primitive *>(*primitive);
575 auto value = prim->value_as_Mfcc();
576 if (prim != nullptr && value != nullptr) {
577 flatbuffers::FlatBufferBuilder fbb;
578 auto ops_offset = schema::CreateMfcc(fbb, value->freq_upper_limit(), value->freq_lower_limit(), filter_bank_channel_num, value->dct_coeff_num());
579 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_MFCC), ops_offset.o);
580 fbb.Finish(prim_offset);
581 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
582 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
583 free(*primitive);
584 *primitive = ret_value;
585 }
586 }
587 }
588
MindIR_Mfcc_GetDctCoeffNum(ConstPrimitivePtr primitive)589 int64_t MindIR_Mfcc_GetDctCoeffNum(ConstPrimitivePtr primitive) {
590 if (primitive != nullptr) {
591 auto prim = static_cast<const schema::Primitive *>(primitive);
592 auto value = prim->value_as_Mfcc();
593 if (prim != nullptr && value != nullptr) {
594 return value->dct_coeff_num();
595 } else {
596 return 0;
597 }
598 } else {
599 return 0;
600 }
601 }
602
MindIR_Mfcc_SetDctCoeffNum(PrimitivePtr * primitive,int64_t dct_coeff_num)603 void MindIR_Mfcc_SetDctCoeffNum(PrimitivePtr *primitive, int64_t dct_coeff_num) {
604 if (primitive != nullptr && *primitive != nullptr) {
605 auto prim = static_cast<schema::Primitive *>(*primitive);
606 auto value = prim->value_as_Mfcc();
607 if (prim != nullptr && value != nullptr) {
608 flatbuffers::FlatBufferBuilder fbb;
609 auto ops_offset = schema::CreateMfcc(fbb, value->freq_upper_limit(), value->freq_lower_limit(), value->filter_bank_channel_num(), dct_coeff_num);
610 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_MFCC), ops_offset.o);
611 fbb.Finish(prim_offset);
612 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
613 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
614 free(*primitive);
615 *primitive = ret_value;
616 }
617 }
618 }
619
620 // ********** NonMaxSuppression **********
MindIR_NonMaxSuppression_CreatePrimitive(int64_t center_point_box)621 PrimitivePtr MindIR_NonMaxSuppression_CreatePrimitive(int64_t center_point_box) {
622 flatbuffers::FlatBufferBuilder fbb;
623 auto ops_offset = schema::CreateNonMaxSuppression(fbb, center_point_box);
624 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_NON_MAX_SUPPRESSION), ops_offset.o);
625 fbb.Finish(prim_offset);
626 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
627 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
628 return ret_value;
629 }
630
MindIR_NonMaxSuppression_GetCenterPointBox(ConstPrimitivePtr primitive)631 int64_t MindIR_NonMaxSuppression_GetCenterPointBox(ConstPrimitivePtr primitive) {
632 if (primitive != nullptr) {
633 auto prim = static_cast<const schema::Primitive *>(primitive);
634 auto value = prim->value_as_NonMaxSuppression();
635 if (prim != nullptr && value != nullptr) {
636 return value->center_point_box();
637 } else {
638 return 0;
639 }
640 } else {
641 return 0;
642 }
643 }
644
MindIR_NonMaxSuppression_SetCenterPointBox(PrimitivePtr * primitive,int64_t center_point_box)645 void MindIR_NonMaxSuppression_SetCenterPointBox(PrimitivePtr *primitive, int64_t center_point_box) {
646 if (primitive != nullptr && *primitive != nullptr) {
647 auto prim = static_cast<schema::Primitive *>(*primitive);
648 auto value = prim->value_as_NonMaxSuppression();
649 if (prim != nullptr && value != nullptr) {
650 flatbuffers::FlatBufferBuilder fbb;
651 auto ops_offset = schema::CreateNonMaxSuppression(fbb, center_point_box);
652 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_NON_MAX_SUPPRESSION), ops_offset.o);
653 fbb.Finish(prim_offset);
654 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
655 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
656 free(*primitive);
657 *primitive = ret_value;
658 }
659 }
660 }
661
662 // ********** OnesLike **********
MindIR_OnesLike_CreatePrimitive()663 PrimitivePtr MindIR_OnesLike_CreatePrimitive() {
664 flatbuffers::FlatBufferBuilder fbb;
665 auto ops_offset = schema::CreateOnesLike(fbb);
666 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_ONES_LIKE), ops_offset.o);
667 fbb.Finish(prim_offset);
668 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
669 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
670 return ret_value;
671 }
672
673 // ********** PartialFusion **********
MindIR_PartialFusion_CreatePrimitive(int64_t sub_graph_index)674 PrimitivePtr MindIR_PartialFusion_CreatePrimitive(int64_t sub_graph_index) {
675 flatbuffers::FlatBufferBuilder fbb;
676 auto ops_offset = schema::CreatePartialFusion(fbb, sub_graph_index);
677 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PARTIAL_FUSION), ops_offset.o);
678 fbb.Finish(prim_offset);
679 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
680 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
681 return ret_value;
682 }
683
MindIR_PartialFusion_GetSubGraphIndex(ConstPrimitivePtr primitive)684 int64_t MindIR_PartialFusion_GetSubGraphIndex(ConstPrimitivePtr primitive) {
685 if (primitive != nullptr) {
686 auto prim = static_cast<const schema::Primitive *>(primitive);
687 auto value = prim->value_as_PartialFusion();
688 if (prim != nullptr && value != nullptr) {
689 return value->sub_graph_index();
690 } else {
691 return 0;
692 }
693 } else {
694 return 0;
695 }
696 }
697
MindIR_PartialFusion_SetSubGraphIndex(PrimitivePtr * primitive,int64_t sub_graph_index)698 void MindIR_PartialFusion_SetSubGraphIndex(PrimitivePtr *primitive, int64_t sub_graph_index) {
699 if (primitive != nullptr && *primitive != nullptr) {
700 auto prim = static_cast<schema::Primitive *>(*primitive);
701 auto value = prim->value_as_PartialFusion();
702 if (prim != nullptr && value != nullptr) {
703 flatbuffers::FlatBufferBuilder fbb;
704 auto ops_offset = schema::CreatePartialFusion(fbb, sub_graph_index);
705 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PARTIAL_FUSION), ops_offset.o);
706 fbb.Finish(prim_offset);
707 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
708 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
709 free(*primitive);
710 *primitive = ret_value;
711 }
712 }
713 }
714
715 // ********** PriorBox **********
MindIR_PriorBox_CreatePrimitive(const std::vector<int64_t> & min_sizes,const std::vector<int64_t> & max_sizes,const std::vector<float> & aspect_ratios,const std::vector<float> & variances,int64_t image_size_w,int64_t image_size_h,float step_w,float step_h,bool clip,bool flip,float offset)716 PrimitivePtr MindIR_PriorBox_CreatePrimitive(const std::vector<int64_t> &min_sizes, const std::vector<int64_t> &max_sizes, const std::vector<float> &aspect_ratios, const std::vector<float> &variances, int64_t image_size_w, int64_t image_size_h, float step_w, float step_h, bool clip, bool flip, float offset) {
717 flatbuffers::FlatBufferBuilder fbb;
718 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(min_sizes.data(), min_sizes.size()), fbb.CreateVector(max_sizes.data(), max_sizes.size()), fbb.CreateVector(aspect_ratios.data(), aspect_ratios.size()), fbb.CreateVector(variances.data(), variances.size()), image_size_w, image_size_h, step_w, step_h, clip, flip, offset);
719 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
720 fbb.Finish(prim_offset);
721 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
722 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
723 return ret_value;
724 }
725
MindIR_PriorBox_GetMinSizes(ConstPrimitivePtr primitive)726 std::vector<int64_t> MindIR_PriorBox_GetMinSizes(ConstPrimitivePtr primitive) {
727 if (primitive != nullptr) {
728 auto prim = static_cast<const schema::Primitive *>(primitive);
729 auto value = prim->value_as_PriorBox();
730 if (prim != nullptr && value != nullptr) {
731 std::vector<int64_t> result;
732 auto src = value->min_sizes();
733 if (src == nullptr) {
734 return {};
735 }
736 result.resize(src->size());
737 std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; });
738 return result;
739 } else {
740 return {};
741 }
742 } else {
743 return {};
744 }
745 }
746
MindIR_PriorBox_SetMinSizes(PrimitivePtr * primitive,const std::vector<int64_t> & min_sizes)747 void MindIR_PriorBox_SetMinSizes(PrimitivePtr *primitive, const std::vector<int64_t> &min_sizes) {
748 if (primitive != nullptr && *primitive != nullptr) {
749 auto prim = static_cast<schema::Primitive *>(*primitive);
750 auto value = prim->value_as_PriorBox();
751 if (prim != nullptr && value != nullptr) {
752 flatbuffers::FlatBufferBuilder fbb;
753 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(min_sizes.data(), min_sizes.size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
754 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
755 fbb.Finish(prim_offset);
756 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
757 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
758 free(*primitive);
759 *primitive = ret_value;
760 }
761 }
762 }
763
MindIR_PriorBox_GetMaxSizes(ConstPrimitivePtr primitive)764 std::vector<int64_t> MindIR_PriorBox_GetMaxSizes(ConstPrimitivePtr primitive) {
765 if (primitive != nullptr) {
766 auto prim = static_cast<const schema::Primitive *>(primitive);
767 auto value = prim->value_as_PriorBox();
768 if (prim != nullptr && value != nullptr) {
769 std::vector<int64_t> result;
770 auto src = value->max_sizes();
771 if (src == nullptr) {
772 return {};
773 }
774 result.resize(src->size());
775 std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; });
776 return result;
777 } else {
778 return {};
779 }
780 } else {
781 return {};
782 }
783 }
784
MindIR_PriorBox_SetMaxSizes(PrimitivePtr * primitive,const std::vector<int64_t> & max_sizes)785 void MindIR_PriorBox_SetMaxSizes(PrimitivePtr *primitive, const std::vector<int64_t> &max_sizes) {
786 if (primitive != nullptr && *primitive != nullptr) {
787 auto prim = static_cast<schema::Primitive *>(*primitive);
788 auto value = prim->value_as_PriorBox();
789 if (prim != nullptr && value != nullptr) {
790 flatbuffers::FlatBufferBuilder fbb;
791 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(max_sizes.data(), max_sizes.size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
792 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
793 fbb.Finish(prim_offset);
794 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
795 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
796 free(*primitive);
797 *primitive = ret_value;
798 }
799 }
800 }
801
MindIR_PriorBox_GetAspectRatios(ConstPrimitivePtr primitive)802 std::vector<float> MindIR_PriorBox_GetAspectRatios(ConstPrimitivePtr primitive) {
803 if (primitive != nullptr) {
804 auto prim = static_cast<const schema::Primitive *>(primitive);
805 auto value = prim->value_as_PriorBox();
806 if (prim != nullptr && value != nullptr) {
807 std::vector<float> result;
808 auto src = value->aspect_ratios();
809 if (src == nullptr) {
810 return {};
811 }
812 result.resize(src->size());
813 std::transform(src->begin(), src->end(), result.begin(), [](float item) { return item; });
814 return result;
815 } else {
816 return {};
817 }
818 } else {
819 return {};
820 }
821 }
822
MindIR_PriorBox_SetAspectRatios(PrimitivePtr * primitive,const std::vector<float> & aspect_ratios)823 void MindIR_PriorBox_SetAspectRatios(PrimitivePtr *primitive, const std::vector<float> &aspect_ratios) {
824 if (primitive != nullptr && *primitive != nullptr) {
825 auto prim = static_cast<schema::Primitive *>(*primitive);
826 auto value = prim->value_as_PriorBox();
827 if (prim != nullptr && value != nullptr) {
828 flatbuffers::FlatBufferBuilder fbb;
829 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(aspect_ratios.data(), aspect_ratios.size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
830 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
831 fbb.Finish(prim_offset);
832 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
833 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
834 free(*primitive);
835 *primitive = ret_value;
836 }
837 }
838 }
839
MindIR_PriorBox_GetVariances(ConstPrimitivePtr primitive)840 std::vector<float> MindIR_PriorBox_GetVariances(ConstPrimitivePtr primitive) {
841 if (primitive != nullptr) {
842 auto prim = static_cast<const schema::Primitive *>(primitive);
843 auto value = prim->value_as_PriorBox();
844 if (prim != nullptr && value != nullptr) {
845 std::vector<float> result;
846 auto src = value->variances();
847 if (src == nullptr) {
848 return {};
849 }
850 result.resize(src->size());
851 std::transform(src->begin(), src->end(), result.begin(), [](float item) { return item; });
852 return result;
853 } else {
854 return {};
855 }
856 } else {
857 return {};
858 }
859 }
860
MindIR_PriorBox_SetVariances(PrimitivePtr * primitive,const std::vector<float> & variances)861 void MindIR_PriorBox_SetVariances(PrimitivePtr *primitive, const std::vector<float> &variances) {
862 if (primitive != nullptr && *primitive != nullptr) {
863 auto prim = static_cast<schema::Primitive *>(*primitive);
864 auto value = prim->value_as_PriorBox();
865 if (prim != nullptr && value != nullptr) {
866 flatbuffers::FlatBufferBuilder fbb;
867 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(variances.data(), variances.size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
868 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
869 fbb.Finish(prim_offset);
870 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
871 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
872 free(*primitive);
873 *primitive = ret_value;
874 }
875 }
876 }
877
MindIR_PriorBox_GetImageSizeW(ConstPrimitivePtr primitive)878 int64_t MindIR_PriorBox_GetImageSizeW(ConstPrimitivePtr primitive) {
879 if (primitive != nullptr) {
880 auto prim = static_cast<const schema::Primitive *>(primitive);
881 auto value = prim->value_as_PriorBox();
882 if (prim != nullptr && value != nullptr) {
883 return value->image_size_w();
884 } else {
885 return 0;
886 }
887 } else {
888 return 0;
889 }
890 }
891
MindIR_PriorBox_SetImageSizeW(PrimitivePtr * primitive,int64_t image_size_w)892 void MindIR_PriorBox_SetImageSizeW(PrimitivePtr *primitive, int64_t image_size_w) {
893 if (primitive != nullptr && *primitive != nullptr) {
894 auto prim = static_cast<schema::Primitive *>(*primitive);
895 auto value = prim->value_as_PriorBox();
896 if (prim != nullptr && value != nullptr) {
897 flatbuffers::FlatBufferBuilder fbb;
898 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), image_size_w, value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
899 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
900 fbb.Finish(prim_offset);
901 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
902 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
903 free(*primitive);
904 *primitive = ret_value;
905 }
906 }
907 }
908
MindIR_PriorBox_GetImageSizeH(ConstPrimitivePtr primitive)909 int64_t MindIR_PriorBox_GetImageSizeH(ConstPrimitivePtr primitive) {
910 if (primitive != nullptr) {
911 auto prim = static_cast<const schema::Primitive *>(primitive);
912 auto value = prim->value_as_PriorBox();
913 if (prim != nullptr && value != nullptr) {
914 return value->image_size_h();
915 } else {
916 return 0;
917 }
918 } else {
919 return 0;
920 }
921 }
922
MindIR_PriorBox_SetImageSizeH(PrimitivePtr * primitive,int64_t image_size_h)923 void MindIR_PriorBox_SetImageSizeH(PrimitivePtr *primitive, int64_t image_size_h) {
924 if (primitive != nullptr && *primitive != nullptr) {
925 auto prim = static_cast<schema::Primitive *>(*primitive);
926 auto value = prim->value_as_PriorBox();
927 if (prim != nullptr && value != nullptr) {
928 flatbuffers::FlatBufferBuilder fbb;
929 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), image_size_h, value->step_w(), value->step_h(), value->clip(), value->flip(), value->offset());
930 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
931 fbb.Finish(prim_offset);
932 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
933 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
934 free(*primitive);
935 *primitive = ret_value;
936 }
937 }
938 }
939
MindIR_PriorBox_GetStepW(ConstPrimitivePtr primitive)940 float MindIR_PriorBox_GetStepW(ConstPrimitivePtr primitive) {
941 if (primitive != nullptr) {
942 auto prim = static_cast<const schema::Primitive *>(primitive);
943 auto value = prim->value_as_PriorBox();
944 if (prim != nullptr && value != nullptr) {
945 return value->step_w();
946 } else {
947 return .0;
948 }
949 } else {
950 return .0;
951 }
952 }
953
MindIR_PriorBox_SetStepW(PrimitivePtr * primitive,float step_w)954 void MindIR_PriorBox_SetStepW(PrimitivePtr *primitive, float step_w) {
955 if (primitive != nullptr && *primitive != nullptr) {
956 auto prim = static_cast<schema::Primitive *>(*primitive);
957 auto value = prim->value_as_PriorBox();
958 if (prim != nullptr && value != nullptr) {
959 flatbuffers::FlatBufferBuilder fbb;
960 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), step_w, value->step_h(), value->clip(), value->flip(), value->offset());
961 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
962 fbb.Finish(prim_offset);
963 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
964 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
965 free(*primitive);
966 *primitive = ret_value;
967 }
968 }
969 }
970
MindIR_PriorBox_GetStepH(ConstPrimitivePtr primitive)971 float MindIR_PriorBox_GetStepH(ConstPrimitivePtr primitive) {
972 if (primitive != nullptr) {
973 auto prim = static_cast<const schema::Primitive *>(primitive);
974 auto value = prim->value_as_PriorBox();
975 if (prim != nullptr && value != nullptr) {
976 return value->step_h();
977 } else {
978 return .0;
979 }
980 } else {
981 return .0;
982 }
983 }
984
MindIR_PriorBox_SetStepH(PrimitivePtr * primitive,float step_h)985 void MindIR_PriorBox_SetStepH(PrimitivePtr *primitive, float step_h) {
986 if (primitive != nullptr && *primitive != nullptr) {
987 auto prim = static_cast<schema::Primitive *>(*primitive);
988 auto value = prim->value_as_PriorBox();
989 if (prim != nullptr && value != nullptr) {
990 flatbuffers::FlatBufferBuilder fbb;
991 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), step_h, value->clip(), value->flip(), value->offset());
992 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
993 fbb.Finish(prim_offset);
994 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
995 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
996 free(*primitive);
997 *primitive = ret_value;
998 }
999 }
1000 }
1001
MindIR_PriorBox_GetClip(ConstPrimitivePtr primitive)1002 bool MindIR_PriorBox_GetClip(ConstPrimitivePtr primitive) {
1003 if (primitive != nullptr) {
1004 auto prim = static_cast<const schema::Primitive *>(primitive);
1005 auto value = prim->value_as_PriorBox();
1006 if (prim != nullptr && value != nullptr) {
1007 return value->clip();
1008 } else {
1009 return false;
1010 }
1011 } else {
1012 return false;
1013 }
1014 }
1015
MindIR_PriorBox_SetClip(PrimitivePtr * primitive,bool clip)1016 void MindIR_PriorBox_SetClip(PrimitivePtr *primitive, bool clip) {
1017 if (primitive != nullptr && *primitive != nullptr) {
1018 auto prim = static_cast<schema::Primitive *>(*primitive);
1019 auto value = prim->value_as_PriorBox();
1020 if (prim != nullptr && value != nullptr) {
1021 flatbuffers::FlatBufferBuilder fbb;
1022 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), clip, value->flip(), value->offset());
1023 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
1024 fbb.Finish(prim_offset);
1025 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1026 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1027 free(*primitive);
1028 *primitive = ret_value;
1029 }
1030 }
1031 }
1032
MindIR_PriorBox_GetFlip(ConstPrimitivePtr primitive)1033 bool MindIR_PriorBox_GetFlip(ConstPrimitivePtr primitive) {
1034 if (primitive != nullptr) {
1035 auto prim = static_cast<const schema::Primitive *>(primitive);
1036 auto value = prim->value_as_PriorBox();
1037 if (prim != nullptr && value != nullptr) {
1038 return value->flip();
1039 } else {
1040 return false;
1041 }
1042 } else {
1043 return false;
1044 }
1045 }
1046
MindIR_PriorBox_SetFlip(PrimitivePtr * primitive,bool flip)1047 void MindIR_PriorBox_SetFlip(PrimitivePtr *primitive, bool flip) {
1048 if (primitive != nullptr && *primitive != nullptr) {
1049 auto prim = static_cast<schema::Primitive *>(*primitive);
1050 auto value = prim->value_as_PriorBox();
1051 if (prim != nullptr && value != nullptr) {
1052 flatbuffers::FlatBufferBuilder fbb;
1053 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), flip, value->offset());
1054 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
1055 fbb.Finish(prim_offset);
1056 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1057 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1058 free(*primitive);
1059 *primitive = ret_value;
1060 }
1061 }
1062 }
1063
MindIR_PriorBox_GetOffset(ConstPrimitivePtr primitive)1064 float MindIR_PriorBox_GetOffset(ConstPrimitivePtr primitive) {
1065 if (primitive != nullptr) {
1066 auto prim = static_cast<const schema::Primitive *>(primitive);
1067 auto value = prim->value_as_PriorBox();
1068 if (prim != nullptr && value != nullptr) {
1069 return value->offset();
1070 } else {
1071 return .0;
1072 }
1073 } else {
1074 return .0;
1075 }
1076 }
1077
MindIR_PriorBox_SetOffset(PrimitivePtr * primitive,float offset)1078 void MindIR_PriorBox_SetOffset(PrimitivePtr *primitive, float offset) {
1079 if (primitive != nullptr && *primitive != nullptr) {
1080 auto prim = static_cast<schema::Primitive *>(*primitive);
1081 auto value = prim->value_as_PriorBox();
1082 if (prim != nullptr && value != nullptr) {
1083 flatbuffers::FlatBufferBuilder fbb;
1084 auto ops_offset = schema::CreatePriorBox(fbb, fbb.CreateVector(value->min_sizes()->data(), value->min_sizes()->size()), fbb.CreateVector(value->max_sizes()->data(), value->max_sizes()->size()), fbb.CreateVector(value->aspect_ratios()->data(), value->aspect_ratios()->size()), fbb.CreateVector(value->variances()->data(), value->variances()->size()), value->image_size_w(), value->image_size_h(), value->step_w(), value->step_h(), value->clip(), value->flip(), offset);
1085 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_PRIOR_BOX), ops_offset.o);
1086 fbb.Finish(prim_offset);
1087 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1088 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1089 free(*primitive);
1090 *primitive = ret_value;
1091 }
1092 }
1093 }
1094
1095 // ********** ReverseSequence **********
MindIR_ReverseSequence_CreatePrimitive(int64_t seq_dim,int64_t batch_dim)1096 PrimitivePtr MindIR_ReverseSequence_CreatePrimitive(int64_t seq_dim, int64_t batch_dim) {
1097 flatbuffers::FlatBufferBuilder fbb;
1098 auto ops_offset = schema::CreateReverseSequence(fbb, seq_dim, batch_dim);
1099 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_REVERSE_SEQUENCE), ops_offset.o);
1100 fbb.Finish(prim_offset);
1101 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1102 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1103 return ret_value;
1104 }
1105
MindIR_ReverseSequence_GetSeqDim(ConstPrimitivePtr primitive)1106 int64_t MindIR_ReverseSequence_GetSeqDim(ConstPrimitivePtr primitive) {
1107 if (primitive != nullptr) {
1108 auto prim = static_cast<const schema::Primitive *>(primitive);
1109 auto value = prim->value_as_ReverseSequence();
1110 if (prim != nullptr && value != nullptr) {
1111 return value->seq_dim();
1112 } else {
1113 return 0;
1114 }
1115 } else {
1116 return 0;
1117 }
1118 }
1119
MindIR_ReverseSequence_SetSeqDim(PrimitivePtr * primitive,int64_t seq_dim)1120 void MindIR_ReverseSequence_SetSeqDim(PrimitivePtr *primitive, int64_t seq_dim) {
1121 if (primitive != nullptr && *primitive != nullptr) {
1122 auto prim = static_cast<schema::Primitive *>(*primitive);
1123 auto value = prim->value_as_ReverseSequence();
1124 if (prim != nullptr && value != nullptr) {
1125 flatbuffers::FlatBufferBuilder fbb;
1126 auto ops_offset = schema::CreateReverseSequence(fbb, seq_dim, value->batch_dim());
1127 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_REVERSE_SEQUENCE), ops_offset.o);
1128 fbb.Finish(prim_offset);
1129 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1130 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1131 free(*primitive);
1132 *primitive = ret_value;
1133 }
1134 }
1135 }
1136
MindIR_ReverseSequence_GetBatchDim(ConstPrimitivePtr primitive)1137 int64_t MindIR_ReverseSequence_GetBatchDim(ConstPrimitivePtr primitive) {
1138 if (primitive != nullptr) {
1139 auto prim = static_cast<const schema::Primitive *>(primitive);
1140 auto value = prim->value_as_ReverseSequence();
1141 if (prim != nullptr && value != nullptr) {
1142 return value->batch_dim();
1143 } else {
1144 return 0;
1145 }
1146 } else {
1147 return 0;
1148 }
1149 }
1150
MindIR_ReverseSequence_SetBatchDim(PrimitivePtr * primitive,int64_t batch_dim)1151 void MindIR_ReverseSequence_SetBatchDim(PrimitivePtr *primitive, int64_t batch_dim) {
1152 if (primitive != nullptr && *primitive != nullptr) {
1153 auto prim = static_cast<schema::Primitive *>(*primitive);
1154 auto value = prim->value_as_ReverseSequence();
1155 if (prim != nullptr && value != nullptr) {
1156 flatbuffers::FlatBufferBuilder fbb;
1157 auto ops_offset = schema::CreateReverseSequence(fbb, value->seq_dim(), batch_dim);
1158 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_REVERSE_SEQUENCE), ops_offset.o);
1159 fbb.Finish(prim_offset);
1160 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1161 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1162 free(*primitive);
1163 *primitive = ret_value;
1164 }
1165 }
1166 }
1167
1168 // ********** ReverseV2 **********
MindIR_ReverseV2_CreatePrimitive(const std::vector<int64_t> & axis)1169 PrimitivePtr MindIR_ReverseV2_CreatePrimitive(const std::vector<int64_t> &axis) {
1170 flatbuffers::FlatBufferBuilder fbb;
1171 auto ops_offset = schema::CreateReverseV2(fbb, fbb.CreateVector(axis.data(), axis.size()));
1172 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_REVERSE_V2), ops_offset.o);
1173 fbb.Finish(prim_offset);
1174 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1175 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1176 return ret_value;
1177 }
1178
MindIR_ReverseV2_GetAxis(ConstPrimitivePtr primitive)1179 std::vector<int64_t> MindIR_ReverseV2_GetAxis(ConstPrimitivePtr primitive) {
1180 if (primitive != nullptr) {
1181 auto prim = static_cast<const schema::Primitive *>(primitive);
1182 auto value = prim->value_as_ReverseV2();
1183 if (prim != nullptr && value != nullptr) {
1184 std::vector<int64_t> result;
1185 auto src = value->axis();
1186 if (src == nullptr) {
1187 return {};
1188 }
1189 result.resize(src->size());
1190 std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; });
1191 return result;
1192 } else {
1193 return {};
1194 }
1195 } else {
1196 return {};
1197 }
1198 }
1199
MindIR_ReverseV2_SetAxis(PrimitivePtr * primitive,const std::vector<int64_t> & axis)1200 void MindIR_ReverseV2_SetAxis(PrimitivePtr *primitive, const std::vector<int64_t> &axis) {
1201 if (primitive != nullptr && *primitive != nullptr) {
1202 auto prim = static_cast<schema::Primitive *>(*primitive);
1203 auto value = prim->value_as_ReverseV2();
1204 if (prim != nullptr && value != nullptr) {
1205 flatbuffers::FlatBufferBuilder fbb;
1206 auto ops_offset = schema::CreateReverseV2(fbb, fbb.CreateVector(axis.data(), axis.size()));
1207 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_REVERSE_V2), ops_offset.o);
1208 fbb.Finish(prim_offset);
1209 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1210 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1211 free(*primitive);
1212 *primitive = ret_value;
1213 }
1214 }
1215 }
1216
1217 // ********** Rfft **********
MindIR_Rfft_CreatePrimitive(int64_t fft_length)1218 PrimitivePtr MindIR_Rfft_CreatePrimitive(int64_t fft_length) {
1219 flatbuffers::FlatBufferBuilder fbb;
1220 auto ops_offset = schema::CreateRfft(fbb, fft_length);
1221 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_RFFT), ops_offset.o);
1222 fbb.Finish(prim_offset);
1223 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1224 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1225 return ret_value;
1226 }
1227
MindIR_Rfft_GetFftLength(ConstPrimitivePtr primitive)1228 int64_t MindIR_Rfft_GetFftLength(ConstPrimitivePtr primitive) {
1229 if (primitive != nullptr) {
1230 auto prim = static_cast<const schema::Primitive *>(primitive);
1231 auto value = prim->value_as_Rfft();
1232 if (prim != nullptr && value != nullptr) {
1233 return value->fft_length();
1234 } else {
1235 return 0;
1236 }
1237 } else {
1238 return 0;
1239 }
1240 }
1241
MindIR_Rfft_SetFftLength(PrimitivePtr * primitive,int64_t fft_length)1242 void MindIR_Rfft_SetFftLength(PrimitivePtr *primitive, int64_t fft_length) {
1243 if (primitive != nullptr && *primitive != nullptr) {
1244 auto prim = static_cast<schema::Primitive *>(*primitive);
1245 auto value = prim->value_as_Rfft();
1246 if (prim != nullptr && value != nullptr) {
1247 flatbuffers::FlatBufferBuilder fbb;
1248 auto ops_offset = schema::CreateRfft(fbb, fft_length);
1249 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_RFFT), ops_offset.o);
1250 fbb.Finish(prim_offset);
1251 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1252 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1253 free(*primitive);
1254 *primitive = ret_value;
1255 }
1256 }
1257 }
1258
1259 // ********** ROIPooling **********
MindIR_ROIPooling_CreatePrimitive(int64_t pooled_h,int64_t pooled_w,float scale)1260 PrimitivePtr MindIR_ROIPooling_CreatePrimitive(int64_t pooled_h, int64_t pooled_w, float scale) {
1261 flatbuffers::FlatBufferBuilder fbb;
1262 auto ops_offset = schema::CreateROIPooling(fbb, pooled_h, pooled_w, scale);
1263 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_R_O_I_POOLING), ops_offset.o);
1264 fbb.Finish(prim_offset);
1265 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1266 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1267 return ret_value;
1268 }
1269
MindIR_ROIPooling_GetPooledH(ConstPrimitivePtr primitive)1270 int64_t MindIR_ROIPooling_GetPooledH(ConstPrimitivePtr primitive) {
1271 if (primitive != nullptr) {
1272 auto prim = static_cast<const schema::Primitive *>(primitive);
1273 auto value = prim->value_as_ROIPooling();
1274 if (prim != nullptr && value != nullptr) {
1275 return value->pooled_h();
1276 } else {
1277 return 0;
1278 }
1279 } else {
1280 return 0;
1281 }
1282 }
1283
MindIR_ROIPooling_SetPooledH(PrimitivePtr * primitive,int64_t pooled_h)1284 void MindIR_ROIPooling_SetPooledH(PrimitivePtr *primitive, int64_t pooled_h) {
1285 if (primitive != nullptr && *primitive != nullptr) {
1286 auto prim = static_cast<schema::Primitive *>(*primitive);
1287 auto value = prim->value_as_ROIPooling();
1288 if (prim != nullptr && value != nullptr) {
1289 flatbuffers::FlatBufferBuilder fbb;
1290 auto ops_offset = schema::CreateROIPooling(fbb, pooled_h, value->pooled_w(), value->scale());
1291 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_R_O_I_POOLING), ops_offset.o);
1292 fbb.Finish(prim_offset);
1293 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1294 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1295 free(*primitive);
1296 *primitive = ret_value;
1297 }
1298 }
1299 }
1300
MindIR_ROIPooling_GetPooledW(ConstPrimitivePtr primitive)1301 int64_t MindIR_ROIPooling_GetPooledW(ConstPrimitivePtr primitive) {
1302 if (primitive != nullptr) {
1303 auto prim = static_cast<const schema::Primitive *>(primitive);
1304 auto value = prim->value_as_ROIPooling();
1305 if (prim != nullptr && value != nullptr) {
1306 return value->pooled_w();
1307 } else {
1308 return 0;
1309 }
1310 } else {
1311 return 0;
1312 }
1313 }
1314
MindIR_ROIPooling_SetPooledW(PrimitivePtr * primitive,int64_t pooled_w)1315 void MindIR_ROIPooling_SetPooledW(PrimitivePtr *primitive, int64_t pooled_w) {
1316 if (primitive != nullptr && *primitive != nullptr) {
1317 auto prim = static_cast<schema::Primitive *>(*primitive);
1318 auto value = prim->value_as_ROIPooling();
1319 if (prim != nullptr && value != nullptr) {
1320 flatbuffers::FlatBufferBuilder fbb;
1321 auto ops_offset = schema::CreateROIPooling(fbb, value->pooled_h(), pooled_w, value->scale());
1322 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_R_O_I_POOLING), ops_offset.o);
1323 fbb.Finish(prim_offset);
1324 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1325 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1326 free(*primitive);
1327 *primitive = ret_value;
1328 }
1329 }
1330 }
1331
MindIR_ROIPooling_GetScale(ConstPrimitivePtr primitive)1332 float MindIR_ROIPooling_GetScale(ConstPrimitivePtr primitive) {
1333 if (primitive != nullptr) {
1334 auto prim = static_cast<const schema::Primitive *>(primitive);
1335 auto value = prim->value_as_ROIPooling();
1336 if (prim != nullptr && value != nullptr) {
1337 return value->scale();
1338 } else {
1339 return .0;
1340 }
1341 } else {
1342 return .0;
1343 }
1344 }
1345
MindIR_ROIPooling_SetScale(PrimitivePtr * primitive,float scale)1346 void MindIR_ROIPooling_SetScale(PrimitivePtr *primitive, float scale) {
1347 if (primitive != nullptr && *primitive != nullptr) {
1348 auto prim = static_cast<schema::Primitive *>(*primitive);
1349 auto value = prim->value_as_ROIPooling();
1350 if (prim != nullptr && value != nullptr) {
1351 flatbuffers::FlatBufferBuilder fbb;
1352 auto ops_offset = schema::CreateROIPooling(fbb, value->pooled_h(), value->pooled_w(), scale);
1353 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_R_O_I_POOLING), ops_offset.o);
1354 fbb.Finish(prim_offset);
1355 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1356 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1357 free(*primitive);
1358 *primitive = ret_value;
1359 }
1360 }
1361 }
1362
1363 // ********** SkipGram **********
MindIR_SkipGram_CreatePrimitive(bool include_all_grams,int64_t max_skip_size,int64_t ngram_size)1364 PrimitivePtr MindIR_SkipGram_CreatePrimitive(bool include_all_grams, int64_t max_skip_size, int64_t ngram_size) {
1365 flatbuffers::FlatBufferBuilder fbb;
1366 auto ops_offset = schema::CreateSkipGram(fbb, include_all_grams, max_skip_size, ngram_size);
1367 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SKIP_GRAM), ops_offset.o);
1368 fbb.Finish(prim_offset);
1369 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1370 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1371 return ret_value;
1372 }
1373
MindIR_SkipGram_GetIncludeAllGrams(ConstPrimitivePtr primitive)1374 bool MindIR_SkipGram_GetIncludeAllGrams(ConstPrimitivePtr primitive) {
1375 if (primitive != nullptr) {
1376 auto prim = static_cast<const schema::Primitive *>(primitive);
1377 auto value = prim->value_as_SkipGram();
1378 if (prim != nullptr && value != nullptr) {
1379 return value->include_all_grams();
1380 } else {
1381 return false;
1382 }
1383 } else {
1384 return false;
1385 }
1386 }
1387
MindIR_SkipGram_SetIncludeAllGrams(PrimitivePtr * primitive,bool include_all_grams)1388 void MindIR_SkipGram_SetIncludeAllGrams(PrimitivePtr *primitive, bool include_all_grams) {
1389 if (primitive != nullptr && *primitive != nullptr) {
1390 auto prim = static_cast<schema::Primitive *>(*primitive);
1391 auto value = prim->value_as_SkipGram();
1392 if (prim != nullptr && value != nullptr) {
1393 flatbuffers::FlatBufferBuilder fbb;
1394 auto ops_offset = schema::CreateSkipGram(fbb, include_all_grams, value->max_skip_size(), value->ngram_size());
1395 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SKIP_GRAM), ops_offset.o);
1396 fbb.Finish(prim_offset);
1397 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1398 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1399 free(*primitive);
1400 *primitive = ret_value;
1401 }
1402 }
1403 }
1404
MindIR_SkipGram_GetMaxSkipSize(ConstPrimitivePtr primitive)1405 int64_t MindIR_SkipGram_GetMaxSkipSize(ConstPrimitivePtr primitive) {
1406 if (primitive != nullptr) {
1407 auto prim = static_cast<const schema::Primitive *>(primitive);
1408 auto value = prim->value_as_SkipGram();
1409 if (prim != nullptr && value != nullptr) {
1410 return value->max_skip_size();
1411 } else {
1412 return 0;
1413 }
1414 } else {
1415 return 0;
1416 }
1417 }
1418
MindIR_SkipGram_SetMaxSkipSize(PrimitivePtr * primitive,int64_t max_skip_size)1419 void MindIR_SkipGram_SetMaxSkipSize(PrimitivePtr *primitive, int64_t max_skip_size) {
1420 if (primitive != nullptr && *primitive != nullptr) {
1421 auto prim = static_cast<schema::Primitive *>(*primitive);
1422 auto value = prim->value_as_SkipGram();
1423 if (prim != nullptr && value != nullptr) {
1424 flatbuffers::FlatBufferBuilder fbb;
1425 auto ops_offset = schema::CreateSkipGram(fbb, value->include_all_grams(), max_skip_size, value->ngram_size());
1426 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SKIP_GRAM), ops_offset.o);
1427 fbb.Finish(prim_offset);
1428 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1429 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1430 free(*primitive);
1431 *primitive = ret_value;
1432 }
1433 }
1434 }
1435
MindIR_SkipGram_GetNgramSize(ConstPrimitivePtr primitive)1436 int64_t MindIR_SkipGram_GetNgramSize(ConstPrimitivePtr primitive) {
1437 if (primitive != nullptr) {
1438 auto prim = static_cast<const schema::Primitive *>(primitive);
1439 auto value = prim->value_as_SkipGram();
1440 if (prim != nullptr && value != nullptr) {
1441 return value->ngram_size();
1442 } else {
1443 return 0;
1444 }
1445 } else {
1446 return 0;
1447 }
1448 }
1449
MindIR_SkipGram_SetNgramSize(PrimitivePtr * primitive,int64_t ngram_size)1450 void MindIR_SkipGram_SetNgramSize(PrimitivePtr *primitive, int64_t ngram_size) {
1451 if (primitive != nullptr && *primitive != nullptr) {
1452 auto prim = static_cast<schema::Primitive *>(*primitive);
1453 auto value = prim->value_as_SkipGram();
1454 if (prim != nullptr && value != nullptr) {
1455 flatbuffers::FlatBufferBuilder fbb;
1456 auto ops_offset = schema::CreateSkipGram(fbb, value->include_all_grams(), value->max_skip_size(), ngram_size);
1457 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SKIP_GRAM), ops_offset.o);
1458 fbb.Finish(prim_offset);
1459 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1460 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1461 free(*primitive);
1462 *primitive = ret_value;
1463 }
1464 }
1465 }
1466
1467 // ********** Switch **********
MindIR_Switch_CreatePrimitive()1468 PrimitivePtr MindIR_Switch_CreatePrimitive() {
1469 flatbuffers::FlatBufferBuilder fbb;
1470 auto ops_offset = schema::CreateSwitch(fbb);
1471 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SWITCH), ops_offset.o);
1472 fbb.Finish(prim_offset);
1473 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1474 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1475 return ret_value;
1476 }
1477
1478 // ********** Unique **********
MindIR_Unique_CreatePrimitive()1479 PrimitivePtr MindIR_Unique_CreatePrimitive() {
1480 flatbuffers::FlatBufferBuilder fbb;
1481 auto ops_offset = schema::CreateUnique(fbb);
1482 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_UNIQUE), ops_offset.o);
1483 fbb.Finish(prim_offset);
1484 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1485 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1486 return ret_value;
1487 }
1488
1489 // ********** UnsortedSegmentSum **********
MindIR_UnsortedSegmentSum_CreatePrimitive()1490 PrimitivePtr MindIR_UnsortedSegmentSum_CreatePrimitive() {
1491 flatbuffers::FlatBufferBuilder fbb;
1492 auto ops_offset = schema::CreateUnsortedSegmentSum(fbb);
1493 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_UNSORTED_SEGMENT_SUM), ops_offset.o);
1494 fbb.Finish(prim_offset);
1495 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1496 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1497 return ret_value;
1498 }
1499
1500 // ********** ZerosLike **********
MindIR_ZerosLike_CreatePrimitive()1501 PrimitivePtr MindIR_ZerosLike_CreatePrimitive() {
1502 flatbuffers::FlatBufferBuilder fbb;
1503 auto ops_offset = schema::CreateZerosLike(fbb);
1504 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_ZEROS_LIKE), ops_offset.o);
1505 fbb.Finish(prim_offset);
1506 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1507 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1508 return ret_value;
1509 }
1510
1511 // ********** GRU **********
MindIR_GRU_CreatePrimitive(bool bidirectional)1512 PrimitivePtr MindIR_GRU_CreatePrimitive(bool bidirectional) {
1513 flatbuffers::FlatBufferBuilder fbb;
1514 auto ops_offset = schema::CreateGRU(fbb, bidirectional);
1515 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_G_R_U), ops_offset.o);
1516 fbb.Finish(prim_offset);
1517 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1518 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1519 return ret_value;
1520 }
1521
MindIR_GRU_GetBidirectional(ConstPrimitivePtr primitive)1522 bool MindIR_GRU_GetBidirectional(ConstPrimitivePtr primitive) {
1523 if (primitive != nullptr) {
1524 auto prim = static_cast<const schema::Primitive *>(primitive);
1525 auto value = prim->value_as_GRU();
1526 if (prim != nullptr && value != nullptr) {
1527 return value->bidirectional();
1528 } else {
1529 return false;
1530 }
1531 } else {
1532 return false;
1533 }
1534 }
1535
MindIR_GRU_SetBidirectional(PrimitivePtr * primitive,bool bidirectional)1536 void MindIR_GRU_SetBidirectional(PrimitivePtr *primitive, bool bidirectional) {
1537 if (primitive != nullptr && *primitive != nullptr) {
1538 auto prim = static_cast<schema::Primitive *>(*primitive);
1539 auto value = prim->value_as_GRU();
1540 if (prim != nullptr && value != nullptr) {
1541 flatbuffers::FlatBufferBuilder fbb;
1542 auto ops_offset = schema::CreateGRU(fbb, bidirectional);
1543 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_G_R_U), ops_offset.o);
1544 fbb.Finish(prim_offset);
1545 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1546 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1547 free(*primitive);
1548 *primitive = ret_value;
1549 }
1550 }
1551 }
1552
1553 // ********** NonZero **********
MindIR_NonZero_CreatePrimitive()1554 PrimitivePtr MindIR_NonZero_CreatePrimitive() {
1555 flatbuffers::FlatBufferBuilder fbb;
1556 auto ops_offset = schema::CreateNonZero(fbb);
1557 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_NON_ZERO), ops_offset.o);
1558 fbb.Finish(prim_offset);
1559 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1560 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1561 return ret_value;
1562 }
1563
1564 // ********** InvertPermutation **********
MindIR_InvertPermutation_CreatePrimitive()1565 PrimitivePtr MindIR_InvertPermutation_CreatePrimitive() {
1566 flatbuffers::FlatBufferBuilder fbb;
1567 auto ops_offset = schema::CreateInvertPermutation(fbb);
1568 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_INVERT_PERMUTATION), ops_offset.o);
1569 fbb.Finish(prim_offset);
1570 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1571 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1572 return ret_value;
1573 }
1574
1575 // ********** Size **********
MindIR_Size_CreatePrimitive()1576 PrimitivePtr MindIR_Size_CreatePrimitive() {
1577 flatbuffers::FlatBufferBuilder fbb;
1578 auto ops_offset = schema::CreateSize(fbb);
1579 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SIZE), ops_offset.o);
1580 fbb.Finish(prim_offset);
1581 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1582 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1583 return ret_value;
1584 }
1585
1586 // ********** RandomStandardNormal **********
MindIR_RandomStandardNormal_CreatePrimitive(int64_t seed,int64_t seed2)1587 PrimitivePtr MindIR_RandomStandardNormal_CreatePrimitive(int64_t seed, int64_t seed2) {
1588 flatbuffers::FlatBufferBuilder fbb;
1589 auto ops_offset = schema::CreateRandomStandardNormal(fbb, seed, seed2);
1590 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_RANDOM_STANDARD_NORMAL), ops_offset.o);
1591 fbb.Finish(prim_offset);
1592 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1593 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1594 return ret_value;
1595 }
1596
MindIR_RandomStandardNormal_GetSeed(ConstPrimitivePtr primitive)1597 int64_t MindIR_RandomStandardNormal_GetSeed(ConstPrimitivePtr primitive) {
1598 if (primitive != nullptr) {
1599 auto prim = static_cast<const schema::Primitive *>(primitive);
1600 auto value = prim->value_as_RandomStandardNormal();
1601 if (prim != nullptr && value != nullptr) {
1602 return value->seed();
1603 } else {
1604 return 0;
1605 }
1606 } else {
1607 return 0;
1608 }
1609 }
1610
MindIR_RandomStandardNormal_SetSeed(PrimitivePtr * primitive,int64_t seed)1611 void MindIR_RandomStandardNormal_SetSeed(PrimitivePtr *primitive, int64_t seed) {
1612 if (primitive != nullptr && *primitive != nullptr) {
1613 auto prim = static_cast<schema::Primitive *>(*primitive);
1614 auto value = prim->value_as_RandomStandardNormal();
1615 if (prim != nullptr && value != nullptr) {
1616 flatbuffers::FlatBufferBuilder fbb;
1617 auto ops_offset = schema::CreateRandomStandardNormal(fbb, seed, value->seed2());
1618 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_RANDOM_STANDARD_NORMAL), ops_offset.o);
1619 fbb.Finish(prim_offset);
1620 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1621 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1622 free(*primitive);
1623 *primitive = ret_value;
1624 }
1625 }
1626 }
MindIR_RandomStandardNormal_GetSeed2(ConstPrimitivePtr primitive)1627 int64_t MindIR_RandomStandardNormal_GetSeed2(ConstPrimitivePtr primitive) {
1628 if (primitive != nullptr) {
1629 auto prim = static_cast<const schema::Primitive *>(primitive);
1630 auto value = prim->value_as_RandomStandardNormal();
1631 if (prim != nullptr && value != nullptr) {
1632 return value->seed2();
1633 } else {
1634 return 0;
1635 }
1636 } else {
1637 return 0;
1638 }
1639 }
1640
MindIR_RandomStandardNormal_SetSeed2(PrimitivePtr * primitive,int64_t seed2)1641 void MindIR_RandomStandardNormal_SetSeed2(PrimitivePtr *primitive, int64_t seed2) {
1642 if (primitive != nullptr && *primitive != nullptr) {
1643 auto prim = static_cast<schema::Primitive *>(*primitive);
1644 auto value = prim->value_as_RandomStandardNormal();
1645 if (prim != nullptr && value != nullptr) {
1646 flatbuffers::FlatBufferBuilder fbb;
1647 auto ops_offset = schema::CreateRandomStandardNormal(fbb, value->seed(), seed2);
1648 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_RANDOM_STANDARD_NORMAL), ops_offset.o);
1649 fbb.Finish(prim_offset);
1650 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1651 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1652 free(*primitive);
1653 *primitive = ret_value;
1654 }
1655 }
1656 }
1657
1658 // ********** CropAndResize **********
MindIR_CropAndResize_CreatePrimitive(ResizeMethod method,float extrapolation_value)1659 PrimitivePtr MindIR_CropAndResize_CreatePrimitive(ResizeMethod method, float extrapolation_value) {
1660 flatbuffers::FlatBufferBuilder fbb;
1661 auto ops_offset = schema::CreateCropAndResize(fbb, static_cast<schema::ResizeMethod>(method), extrapolation_value);
1662 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CROP_AND_RESIZE), ops_offset.o);
1663 fbb.Finish(prim_offset);
1664 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1665 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1666 return ret_value;
1667 }
1668
MindIR_CropAndResize_GetMethod(ConstPrimitivePtr primitive)1669 ResizeMethod MindIR_CropAndResize_GetMethod(ConstPrimitivePtr primitive) {
1670 if (primitive != nullptr) {
1671 auto prim = static_cast<const schema::Primitive *>(primitive);
1672 auto value = prim->value_as_CropAndResize();
1673 if (prim != nullptr && value != nullptr) {
1674 return static_cast<ResizeMethod>(value->method());
1675 } else {
1676 ResizeMethod en = static_cast<ResizeMethod>(0);
1677 return en;
1678 }
1679 } else {
1680 ResizeMethod en = static_cast<ResizeMethod>(0);
1681 return en;
1682 }
1683 }
1684
MindIR_CropAndResize_SetMethod(PrimitivePtr * primitive,ResizeMethod method)1685 void MindIR_CropAndResize_SetMethod(PrimitivePtr *primitive, ResizeMethod method) {
1686 if (primitive != nullptr && *primitive != nullptr) {
1687 auto prim = static_cast<schema::Primitive *>(*primitive);
1688 auto value = prim->value_as_CropAndResize();
1689 if (prim != nullptr && value != nullptr) {
1690 flatbuffers::FlatBufferBuilder fbb;
1691 auto ops_offset = schema::CreateCropAndResize(fbb, static_cast<schema::ResizeMethod>(method), value->extrapolation_value());
1692 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CROP_AND_RESIZE), ops_offset.o);
1693 fbb.Finish(prim_offset);
1694 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1695 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1696 free(*primitive);
1697 *primitive = ret_value;
1698 }
1699 }
1700 }
1701
MindIR_CropAndResize_GetExtrapolationValue(ConstPrimitivePtr primitive)1702 float MindIR_CropAndResize_GetExtrapolationValue(ConstPrimitivePtr primitive) {
1703 if (primitive != nullptr) {
1704 auto prim = static_cast<const schema::Primitive *>(primitive);
1705 auto value = prim->value_as_CropAndResize();
1706 if (prim != nullptr && value != nullptr) {
1707 return value->extrapolation_value();
1708 } else {
1709 return .0;
1710 }
1711 } else {
1712 return .0;
1713 }
1714 }
1715
MindIR_CropAndResize_SetExtrapolationValue(PrimitivePtr * primitive,float extrapolation_value)1716 void MindIR_CropAndResize_SetExtrapolationValue(PrimitivePtr *primitive, float extrapolation_value) {
1717 if (primitive != nullptr && *primitive != nullptr) {
1718 auto prim = static_cast<schema::Primitive *>(*primitive);
1719 auto value = prim->value_as_CropAndResize();
1720 if (prim != nullptr && value != nullptr) {
1721 flatbuffers::FlatBufferBuilder fbb;
1722 auto ops_offset = schema::CreateCropAndResize(fbb, static_cast<schema::ResizeMethod>(value->method()), extrapolation_value);
1723 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CROP_AND_RESIZE), ops_offset.o);
1724 fbb.Finish(prim_offset);
1725 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1726 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1727 free(*primitive);
1728 *primitive = ret_value;
1729 }
1730 }
1731 }
1732
1733 // ********** IsFinite **********
MindIR_IsFinite_CreatePrimitive()1734 PrimitivePtr MindIR_IsFinite_CreatePrimitive() {
1735 flatbuffers::FlatBufferBuilder fbb;
1736 auto ops_offset = schema::CreateIsFinite(fbb);
1737 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_IS_FINITE), ops_offset.o);
1738 fbb.Finish(prim_offset);
1739 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1740 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1741 return ret_value;
1742 }
1743
1744 // ********** LinSpace **********
MindIR_LinSpace_CreatePrimitive()1745 PrimitivePtr MindIR_LinSpace_CreatePrimitive() {
1746 flatbuffers::FlatBufferBuilder fbb;
1747 auto ops_offset = schema::CreateLinSpace(fbb);
1748 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_LIN_SPACE), ops_offset.o);
1749 fbb.Finish(prim_offset);
1750 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1751 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1752 return ret_value;
1753 }
1754
1755 // ********** UniformReal **********
MindIR_UniformReal_CreatePrimitive(int64_t seed,int64_t seed2)1756 PrimitivePtr MindIR_UniformReal_CreatePrimitive(int64_t seed, int64_t seed2) {
1757 flatbuffers::FlatBufferBuilder fbb;
1758 auto ops_offset = schema::CreateUniformReal(fbb, seed, seed2);
1759 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_UNIFORM_REAL), ops_offset.o);
1760 fbb.Finish(prim_offset);
1761 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1762 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1763 return ret_value;
1764 }
1765
MindIR_UniformReal_GetSeed(ConstPrimitivePtr primitive)1766 int64_t MindIR_UniformReal_GetSeed(ConstPrimitivePtr primitive) {
1767 if (primitive != nullptr) {
1768 auto prim = static_cast<const schema::Primitive *>(primitive);
1769 auto value = prim->value_as_UniformReal();
1770 if (prim != nullptr && value != nullptr) {
1771 return value->seed();
1772 } else {
1773 return 0;
1774 }
1775 } else {
1776 return 0;
1777 }
1778 }
1779
MindIR_UniformReal_SetSeed(PrimitivePtr * primitive,int64_t seed)1780 void MindIR_UniformReal_SetSeed(PrimitivePtr *primitive, int64_t seed) {
1781 if (primitive != nullptr && *primitive != nullptr) {
1782 auto prim = static_cast<schema::Primitive *>(*primitive);
1783 auto value = prim->value_as_UniformReal();
1784 if (prim != nullptr && value != nullptr) {
1785 flatbuffers::FlatBufferBuilder fbb;
1786 auto ops_offset = schema::CreateUniformReal(fbb, seed, value->seed2());
1787 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_UNIFORM_REAL), ops_offset.o);
1788 fbb.Finish(prim_offset);
1789 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1790 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1791 free(*primitive);
1792 *primitive = ret_value;
1793 }
1794 }
1795 }
1796
MindIR_UniformReal_GetSeed2(ConstPrimitivePtr primitive)1797 int64_t MindIR_UniformReal_GetSeed2(ConstPrimitivePtr primitive) {
1798 if (primitive != nullptr) {
1799 auto prim = static_cast<const schema::Primitive *>(primitive);
1800 auto value = prim->value_as_UniformReal();
1801 if (prim != nullptr && value != nullptr) {
1802 return value->seed2();
1803 } else {
1804 return 0;
1805 }
1806 } else {
1807 return 0;
1808 }
1809 }
1810
MindIR_UniformReal_SetSeed2(PrimitivePtr * primitive,int64_t seed2)1811 void MindIR_UniformReal_SetSeed2(PrimitivePtr *primitive, int64_t seed2) {
1812 if (primitive != nullptr && *primitive != nullptr) {
1813 auto prim = static_cast<schema::Primitive *>(*primitive);
1814 auto value = prim->value_as_UniformReal();
1815 if (prim != nullptr && value != nullptr) {
1816 flatbuffers::FlatBufferBuilder fbb;
1817 auto ops_offset = schema::CreateUniformReal(fbb, value->seed(), seed2);
1818 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_UNIFORM_REAL), ops_offset.o);
1819 fbb.Finish(prim_offset);
1820 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1821 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1822 free(*primitive);
1823 *primitive = ret_value;
1824 }
1825 }
1826 }
1827
1828 // ********** Splice **********
MindIR_Splice_CreatePrimitive(const std::vector<int64_t> & context,const std::vector<int64_t> & forward_indexes,int64_t output_dim)1829 PrimitivePtr MindIR_Splice_CreatePrimitive(const std::vector<int64_t> &context, const std::vector<int64_t> &forward_indexes, int64_t output_dim) {
1830 flatbuffers::FlatBufferBuilder fbb;
1831 auto ops_offset = schema::CreateSplice(fbb, fbb.CreateVector(context.data(), context.size()), fbb.CreateVector(forward_indexes.data(), forward_indexes.size()), output_dim);
1832 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SPLICE), ops_offset.o);
1833 fbb.Finish(prim_offset);
1834 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1835 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1836 return ret_value;
1837 }
1838
MindIR_Splice_GetContext(ConstPrimitivePtr primitive)1839 std::vector<int64_t> MindIR_Splice_GetContext(ConstPrimitivePtr primitive) {
1840 if (primitive != nullptr) {
1841 auto prim = static_cast<const schema::Primitive *>(primitive);
1842 auto value = prim->value_as_Splice();
1843 if (prim != nullptr && value != nullptr) {
1844 std::vector<int64_t> result;
1845 auto src = value->context();
1846 if (src == nullptr) {
1847 return {};
1848 }
1849 result.resize(src->size());
1850 std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; });
1851 return result;
1852 } else {
1853 return {};
1854 }
1855 } else {
1856 return {};
1857 }
1858 }
1859
MindIR_Splice_SetContext(PrimitivePtr * primitive,const std::vector<int64_t> & context)1860 void MindIR_Splice_SetContext(PrimitivePtr *primitive, const std::vector<int64_t> &context) {
1861 if (primitive != nullptr && *primitive != nullptr) {
1862 auto prim = static_cast<schema::Primitive *>(*primitive);
1863 auto value = prim->value_as_Splice();
1864 if (prim != nullptr && value != nullptr) {
1865 flatbuffers::FlatBufferBuilder fbb;
1866 auto ops_offset = schema::CreateSplice(fbb, fbb.CreateVector(context.data(), context.size()), fbb.CreateVector(value->forward_indexes()->data(), value->forward_indexes()->size()), value->output_dim());
1867 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SPLICE), ops_offset.o);
1868 fbb.Finish(prim_offset);
1869 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1870 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1871 free(*primitive);
1872 *primitive = ret_value;
1873 }
1874 }
1875 }
1876
MindIR_Splice_GetForwardIndexes(ConstPrimitivePtr primitive)1877 std::vector<int64_t> MindIR_Splice_GetForwardIndexes(ConstPrimitivePtr primitive) {
1878 if (primitive != nullptr) {
1879 auto prim = static_cast<const schema::Primitive *>(primitive);
1880 auto value = prim->value_as_Splice();
1881 if (prim != nullptr && value != nullptr) {
1882 std::vector<int64_t> result;
1883 auto src = value->forward_indexes();
1884 if (src == nullptr) {
1885 return {};
1886 }
1887 result.resize(src->size());
1888 std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; });
1889 return result;
1890 } else {
1891 return {};
1892 }
1893 } else {
1894 return {};
1895 }
1896 }
1897
MindIR_Splice_SetForwardIndexes(PrimitivePtr * primitive,const std::vector<int64_t> & forward_indexes)1898 void MindIR_Splice_SetForwardIndexes(PrimitivePtr *primitive, const std::vector<int64_t> &forward_indexes) {
1899 if (primitive != nullptr && *primitive != nullptr) {
1900 auto prim = static_cast<schema::Primitive *>(*primitive);
1901 auto value = prim->value_as_Splice();
1902 if (prim != nullptr && value != nullptr) {
1903 flatbuffers::FlatBufferBuilder fbb;
1904 auto ops_offset = schema::CreateSplice(fbb, fbb.CreateVector(value->context()->data(), value->context()->size()), fbb.CreateVector(forward_indexes.data(), forward_indexes.size()), value->output_dim());
1905 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SPLICE), ops_offset.o);
1906 fbb.Finish(prim_offset);
1907 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1908 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1909 free(*primitive);
1910 *primitive = ret_value;
1911 }
1912 }
1913 }
1914
MindIR_Splice_GetOutputDim(ConstPrimitivePtr primitive)1915 int64_t MindIR_Splice_GetOutputDim(ConstPrimitivePtr primitive) {
1916 if (primitive != nullptr) {
1917 auto prim = static_cast<const schema::Primitive *>(primitive);
1918 auto value = prim->value_as_Splice();
1919 if (prim != nullptr && value != nullptr) {
1920 return value->output_dim();
1921 } else {
1922 return 0;
1923 }
1924 } else {
1925 return 0;
1926 }
1927 }
1928
MindIR_Splice_SetOutputDim(PrimitivePtr * primitive,int64_t output_dim)1929 void MindIR_Splice_SetOutputDim(PrimitivePtr *primitive, int64_t output_dim) {
1930 if (primitive != nullptr && *primitive != nullptr) {
1931 auto prim = static_cast<schema::Primitive *>(*primitive);
1932 auto value = prim->value_as_Splice();
1933 if (prim != nullptr && value != nullptr) {
1934 flatbuffers::FlatBufferBuilder fbb;
1935 auto ops_offset = schema::CreateSplice(fbb, fbb.CreateVector(value->context()->data(), value->context()->size()), fbb.CreateVector(value->forward_indexes()->data(), value->forward_indexes()->size()), output_dim);
1936 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_SPLICE), ops_offset.o);
1937 fbb.Finish(prim_offset);
1938 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1939 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1940 free(*primitive);
1941 *primitive = ret_value;
1942 }
1943 }
1944 }
1945
1946 // ********** Call **********
MindIR_Call_CreatePrimitive(bool is_tail_call)1947 PrimitivePtr MindIR_Call_CreatePrimitive(bool is_tail_call) {
1948 flatbuffers::FlatBufferBuilder fbb;
1949 auto ops_offset = schema::CreateCall(fbb, is_tail_call);
1950 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CALL), ops_offset.o);
1951 fbb.Finish(prim_offset);
1952 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1953 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1954 return ret_value;
1955 }
1956
MindIR_Call_GetIsTailCall(ConstPrimitivePtr primitive)1957 bool MindIR_Call_GetIsTailCall(ConstPrimitivePtr primitive) {
1958 if (primitive != nullptr) {
1959 auto prim = static_cast<const schema::Primitive *>(primitive);
1960 auto value = prim->value_as_Call();
1961 if (prim != nullptr && value != nullptr) {
1962 return value->is_tail_call();
1963 } else {
1964 return false;
1965 }
1966 } else {
1967 return false;
1968 }
1969 }
1970
MindIR_Call_SetIsTailCall(PrimitivePtr * primitive,bool is_tail_call)1971 void MindIR_Call_SetIsTailCall(PrimitivePtr *primitive, bool is_tail_call) {
1972 if (primitive != nullptr && *primitive != nullptr) {
1973 auto prim = static_cast<schema::Primitive *>(*primitive);
1974 auto value = prim->value_as_Call();
1975 if (prim != nullptr && value != nullptr) {
1976 flatbuffers::FlatBufferBuilder fbb;
1977 auto ops_offset = schema::CreateCall(fbb, is_tail_call);
1978 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CALL), ops_offset.o);
1979 fbb.Finish(prim_offset);
1980 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1981 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1982 free(*primitive);
1983 *primitive = ret_value;
1984 }
1985 }
1986 }
1987
1988 // ********** CumSum **********
MindIR_CumSum_CreatePrimitive(bool exclusive,bool reverse)1989 PrimitivePtr MindIR_CumSum_CreatePrimitive(bool exclusive, bool reverse) {
1990 flatbuffers::FlatBufferBuilder fbb;
1991 auto ops_offset = schema::CreateCumSum(fbb, exclusive, reverse);
1992 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CUM_SUM), ops_offset.o);
1993 fbb.Finish(prim_offset);
1994 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
1995 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
1996 return ret_value;
1997 }
1998
MindIR_CumSum_GetExclusive(ConstPrimitivePtr primitive)1999 bool MindIR_CumSum_GetExclusive(ConstPrimitivePtr primitive) {
2000 if (primitive != nullptr) {
2001 auto prim = static_cast<const schema::Primitive *>(primitive);
2002 auto value = prim->value_as_CumSum();
2003 if (prim != nullptr && value != nullptr) {
2004 return value->exclusive();
2005 } else {
2006 return false;
2007 }
2008 } else {
2009 return false;
2010 }
2011 }
2012
MindIR_CumSum_SetExclusive(PrimitivePtr * primitive,bool exclusive)2013 void MindIR_CumSum_SetExclusive(PrimitivePtr *primitive, bool exclusive) {
2014 if (primitive != nullptr && *primitive != nullptr) {
2015 auto prim = static_cast<schema::Primitive *>(*primitive);
2016 auto value = prim->value_as_CumSum();
2017 if (prim != nullptr && value != nullptr) {
2018 flatbuffers::FlatBufferBuilder fbb;
2019 auto ops_offset = schema::CreateCumSum(fbb, exclusive, value->reverse());
2020 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CUM_SUM), ops_offset.o);
2021 fbb.Finish(prim_offset);
2022 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
2023 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
2024 free(*primitive);
2025 *primitive = ret_value;
2026 }
2027 }
2028 }
2029
MindIR_CumSum_GetReverse(ConstPrimitivePtr primitive)2030 bool MindIR_CumSum_GetReverse(ConstPrimitivePtr primitive) {
2031 if (primitive != nullptr) {
2032 auto prim = static_cast<const schema::Primitive *>(primitive);
2033 auto value = prim->value_as_CumSum();
2034 if (prim != nullptr && value != nullptr) {
2035 return value->reverse();
2036 } else {
2037 return false;
2038 }
2039 } else {
2040 return false;
2041 }
2042 }
2043
MindIR_CumSum_SetReverse(PrimitivePtr * primitive,bool reverse)2044 void MindIR_CumSum_SetReverse(PrimitivePtr *primitive, bool reverse) {
2045 if (primitive != nullptr && *primitive != nullptr) {
2046 auto prim = static_cast<schema::Primitive *>(*primitive);
2047 auto value = prim->value_as_CumSum();
2048 if (prim != nullptr && value != nullptr) {
2049 flatbuffers::FlatBufferBuilder fbb;
2050 auto ops_offset = schema::CreateCumSum(fbb, value->exclusive(), reverse);
2051 auto prim_offset = schema::CreatePrimitive(fbb, static_cast<schema::PrimitiveType>(NODE_TYPE_CUM_SUM), ops_offset.o);
2052 fbb.Finish(prim_offset);
2053 auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr);
2054 auto ret_value = flatbuffers::GetMutableRoot<schema::Primitive>(new_addr);
2055 free(*primitive);
2056 *primitive = ret_value;
2057 }
2058 }
2059 }
2060 } // namespace lite
2061 } // namespace mindspore
2062