LCOV - code coverage report
Current view: top level - src/Test/Set - Matrix4.H (source / functions) Coverage Total Hit
Test: coverage_merged.info Lines: 100.0 % 38 38
Test Date: 2025-04-03 04:02:21 Functions: 100.0 % 3 3

            Line data    Source code
       1              : #include "Set/Set.H"
       2              : namespace Test
       3              : {
       4              : namespace Set
       5              : {
       6              : template <int dim, ::Set::Sym sym>
       7              : class Matrix4
       8              : {
       9              : public:
      10            6 :     int SymmetryTest(int /*verbose*/)
      11              :     {
      12            6 :         ::Set::Matrix4<dim,sym> matrix = ::Set::Matrix4<dim,sym>::Randomize();
      13              : 
      14              :         //Util::Message(INFO,matrix);
      15              :         //std::cout << matrix << std::endl;
      16              :         if (sym == ::Set::Sym::None)
      17              :             return 0;
      18              :         if (sym == ::Set::Sym::MajorMinor)
      19              :         {
      20            8 :             for (int i = 0; i < dim; i++)
      21           24 :             for (int j = 0; j < dim; j++)
      22           72 :             for (int k = 0; k < dim; k++)
      23          216 :             for (int l = 0; l < dim; l++)
      24              :             {
      25          324 :                 if (matrix(i,j,k,l) != matrix(k,l,i,j)) return 1; // breaks major symmetry
      26          324 :                 if (matrix(i,j,k,l) != matrix(i,j,l,k)) return 1; // breaks minor symmetry
      27          324 :                 if (matrix(i,j,k,l) != matrix(j,i,k,l)) return 1; // breaks minor symmetry
      28              :             }
      29            2 :             return 0;
      30              :         }
      31              :         if (sym == ::Set::Sym::Full)
      32              :         {
      33           14 :             for (int i = 0; i < dim; i++)
      34           36 :             for (int j = 0; j < dim; j++)
      35           96 :             for (int k = 0; k < dim; k++)
      36          264 :             for (int l = 0; l < dim; l++)
      37              :             {
      38          388 :                 if (matrix(i,j,k,l) != matrix(i,j,l,k)) return 1;
      39          388 :                 if (matrix(i,j,k,l) != matrix(i,k,j,l)) return 1;
      40          388 :                 if (matrix(i,j,k,l) != matrix(i,k,l,j)) return 1;
      41          388 :                 if (matrix(i,j,k,l) != matrix(i,l,j,k)) return 1;
      42          388 :                 if (matrix(i,j,k,l) != matrix(i,l,k,j)) return 1;
      43          388 :                 if (matrix(i,j,k,l) != matrix(j,i,k,l)) return 1;
      44          388 :                 if (matrix(i,j,k,l) != matrix(j,i,l,k)) return 1;
      45          388 :                 if (matrix(i,j,k,l) != matrix(j,k,i,l)) return 1;
      46          388 :                 if (matrix(i,j,k,l) != matrix(j,k,l,i)) return 1;
      47          388 :                 if (matrix(i,j,k,l) != matrix(j,l,i,k)) return 1;
      48          388 :                 if (matrix(i,j,k,l) != matrix(j,l,k,i)) return 1;
      49          388 :                 if (matrix(i,j,k,l) != matrix(k,i,j,l)) return 1;
      50          388 :                 if (matrix(i,j,k,l) != matrix(k,i,l,j)) return 1;
      51          388 :                 if (matrix(i,j,k,l) != matrix(k,j,i,l)) return 1;
      52          388 :                 if (matrix(i,j,k,l) != matrix(k,j,l,i)) return 1;
      53          388 :                 if (matrix(i,j,k,l) != matrix(k,l,i,j)) return 1;
      54          388 :                 if (matrix(i,j,k,l) != matrix(k,l,j,i)) return 1;
      55          388 :                 if (matrix(i,j,k,l) != matrix(l,i,j,k)) return 1;
      56          388 :                 if (matrix(i,j,k,l) != matrix(l,i,k,j)) return 1;
      57          388 :                 if (matrix(i,j,k,l) != matrix(l,j,i,k)) return 1;
      58          388 :                 if (matrix(i,j,k,l) != matrix(l,j,k,i)) return 1;
      59          388 :                 if (matrix(i,j,k,l) != matrix(l,k,i,j)) return 1;
      60          388 :                 if (matrix(i,j,k,l) != matrix(l,k,j,i)) return 1;
      61              :             }
      62            4 :             return 0;
      63              :         }
      64              : 
      65              : 
      66              :         return 1;
      67              :     }
      68              : };
      69              : }
      70              : }
        

Generated by: LCOV version 2.0-1