LCOV - code coverage report
Current view: top level - src/Test/Set - Matrix4.H (source / functions) Hit Total Coverage
Test: coverage_merged.info Lines: 38 38 100.0 %
Date: 2024-11-18 05:28:54 Functions: 3 3 100.0 %

          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 1.14