MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / ParseParameter

Function ParseParameter

tensorflow/lite/delegates/gpu/gl/serialization.cc:393–484  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

391namespace {
392
393Status ParseParameter(const data::UniformParameter& fb_parameter,
394 Variable* parameter) {
395 parameter->name = fb_parameter.name()->str();
396 switch (fb_parameter.type()) {
397 case data::ParameterType::INT32: {
398 auto* ptr = fb_parameter.data_as_DataInt32();
399 if (ptr == nullptr) {
400 return InvalidArgumentError("Unexpected data type '" + parameter->name +
401 "'");
402 }
403 switch (ptr->data()->size()) {
404 case 1:
405 parameter->value = (*ptr->data())[0];
406 break;
407 case 2:
408 parameter->value = int2((*ptr->data())[0], (*ptr->data())[1]);
409 break;
410 case 4:
411 parameter->value = int4((*ptr->data())[0], (*ptr->data())[1],
412 (*ptr->data())[2], (*ptr->data())[3]);
413 break;
414 default:
415 return InvalidArgumentError("Unexpected size for parameter '" +
416 parameter->name + "'");
417 }
418 break;
419 }
420 case data::ParameterType::UINT32: {
421 auto* ptr = fb_parameter.data_as_DataUint32();
422 if (ptr == nullptr) {
423 return InvalidArgumentError("Unexpected data type '" + parameter->name +
424 "'");
425 }
426 switch (ptr->data()->size()) {
427 case 1:
428 parameter->value = (*ptr->data())[0];
429 break;
430 case 4:
431 parameter->value = uint4((*ptr->data())[0], (*ptr->data())[1],
432 (*ptr->data())[2], (*ptr->data())[3]);
433 break;
434 default:
435 return InvalidArgumentError("Unexpected size for parameter '" +
436 parameter->name + "'");
437 }
438 break;
439 }
440 case data::ParameterType::FLOAT32: {
441 auto* ptr = fb_parameter.data_as_DataFloat();
442 if (ptr == nullptr) {
443 return InvalidArgumentError("Unexpected data type '" + parameter->name +
444 "'");
445 }
446 switch (ptr->data()->size()) {
447 case 1:
448 parameter->value = (*ptr->data())[0];
449 break;
450 case 2:

Callers 1

DeserializeCompiledModelFunction · 0.85

Calls 6

OkStatusFunction · 0.85
nameMethod · 0.65
typeMethod · 0.65
InvalidArgumentErrorFunction · 0.50
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected