LCOV - code coverage report
Current view: top level - ml - Common.cpp (source / functions) Hit Total Coverage
Test: test_coverage.info.cleaned Lines: 28 54 51.9 %
Date: 2022-07-06 02:47:47 Functions: 4 4 100.0 %

          Line data    Source code
       1             : #include "Common.h"
       2             : 
       3             : #include <sstream>
       4             : 
       5             : namespace elsa
       6             : {
       7             :     namespace ml
       8             :     {
       9             :         namespace detail
      10             :         {
      11             : 
      12             : #define ELSA_ML_CASE_STATEMENT(T, X) \
      13             :     case T::X:                       \
      14             :         return #X
      15             : 
      16          12 :             std::string getEnumMemberAsString(LayerType type)
      17             :             {
      18          12 :                 switch (type) {
      19           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Undefined);
      20           4 :                     ELSA_ML_CASE_STATEMENT(LayerType, Input);
      21           1 :                     ELSA_ML_CASE_STATEMENT(LayerType, Dense);
      22           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Activation);
      23           2 :                     ELSA_ML_CASE_STATEMENT(LayerType, Conv1D);
      24           2 :                     ELSA_ML_CASE_STATEMENT(LayerType, Conv2D);
      25           1 :                     ELSA_ML_CASE_STATEMENT(LayerType, Conv3D);
      26           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Conv2DTranspose);
      27           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Conv3DTranspose);
      28           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, MaxPooling1D);
      29           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, MaxPooling2D);
      30           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, MaxPooling3D);
      31           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, AveragePooling1D);
      32           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, AveragePooling2D);
      33           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, AveragePooling3D);
      34           1 :                     ELSA_ML_CASE_STATEMENT(LayerType, Sum);
      35           1 :                     ELSA_ML_CASE_STATEMENT(LayerType, Concatenate);
      36           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Reshape);
      37           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Flatten);
      38           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Softmax);
      39           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, UpSampling1D);
      40           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, UpSampling2D);
      41           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, UpSampling3D);
      42           0 :                     ELSA_ML_CASE_STATEMENT(LayerType, Projector);
      43           0 :                     default:
      44           0 :                         return "unknown";
      45             :                 }
      46             :             }
      47             : 
      48           8 :             std::string getEnumMemberAsString(Initializer initializer)
      49             :             {
      50           8 :                 switch (initializer) {
      51           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, Zeros);
      52           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, Ones);
      53           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, Uniform);
      54           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, Normal);
      55           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, GlorotUniform);
      56           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, GlorotNormal);
      57           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, HeUniform);
      58           1 :                     ELSA_ML_CASE_STATEMENT(Initializer, HeNormal);
      59           0 :                     ELSA_ML_CASE_STATEMENT(Initializer, RamLak);
      60           0 :                     default:
      61           0 :                         return "unknown";
      62             :                 }
      63             :             }
      64             : 
      65           2 :             std::string getEnumMemberAsString(MlBackend backend)
      66             :             {
      67           2 :                 switch (backend) {
      68           1 :                     ELSA_ML_CASE_STATEMENT(MlBackend, Dnnl);
      69           1 :                     ELSA_ML_CASE_STATEMENT(MlBackend, Cudnn);
      70           0 :                     default:
      71           0 :                         return "unknown";
      72             :                 }
      73             :             }
      74             : 
      75           3 :             std::string getEnumMemberAsString(PropagationKind propagation)
      76             :             {
      77           3 :                 switch (propagation) {
      78           1 :                     ELSA_ML_CASE_STATEMENT(PropagationKind, Forward);
      79           1 :                     ELSA_ML_CASE_STATEMENT(PropagationKind, Backward);
      80           1 :                     ELSA_ML_CASE_STATEMENT(PropagationKind, Full);
      81           0 :                     default:
      82           0 :                         return "unknown";
      83             :                 }
      84             :             }
      85             : #undef ELSA_ML_CASE_STATEMENT
      86             :         } // namespace detail
      87             : 
      88             :     } // namespace ml
      89             : } // namespace elsa

Generated by: LCOV version 1.15