[neurun] Remove switch stmt from addOperation (#4577)
author이한종/On-Device Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Tue, 5 Mar 2019 09:41:15 +0000 (18:41 +0900)
committer박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Tue, 5 Mar 2019 09:41:15 +0000 (18:41 +0900)
Remove switch statement from addOperation and delegate operation
creation to OperationFactory.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
runtimes/neurun/src/frontend/wrapper/model.cc

index 5d75fc2..7a916ed 100644 (file)
@@ -105,32 +105,8 @@ bool ANeuralNetworksModel::addOperation(ANeuralNetworksOperationType type, uint3
     auto &factory = OperationFactory::instance();
     OperationFactory::Param param{inputCount, inputs, outputCount, outputs};
 
-    switch (type)
-    {
-      case ANEURALNETWORKS_DEPTHWISE_CONV_2D:
-      case ANEURALNETWORKS_MAX_POOL_2D:
-      case ANEURALNETWORKS_AVERAGE_POOL_2D:
-      case ANEURALNETWORKS_CONCATENATION:
-      case ANEURALNETWORKS_RESHAPE:
-      case ANEURALNETWORKS_FULLY_CONNECTED:
-      case ANEURALNETWORKS_SOFTMAX:
-      case ANEURALNETWORKS_ADD:
-      case ANEURALNETWORKS_SUB:
-      case ANEURALNETWORKS_CONV_2D:
-      case ANEURALNETWORKS_MUL:
-      case ANEURALNETWORKS_TANH:
-      case ANEURALNETWORKS_STRIDED_SLICE:
-      case ANEURALNETWORKS_LOGISTIC:
-      {
-        auto node = factory.create(type, param);
-        _model->addOperation(std::unique_ptr<neurun::model::operation::Node>{node});
-
-        break;
-      }
-
-      default:
-        throw std::runtime_error{"Not supported operation"};
-    };
+    auto node = factory.create(type, param);
+    _model->addOperation(std::unique_ptr<neurun::model::operation::Node>{node});
   }
   catch (const std::exception &e)
   {