LCOV - code coverage report
Current view: top level - elsa/core - NdView.cpp (source / functions) Hit Total Coverage
Test: coverage-all.lcov Lines: 12 16 75.0 %
Date: 2024-05-16 04:22:26 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include "NdView.h"
       2             : 
       3             : namespace elsa::detail
       4             : {
       5             :     bool are_strides_compatible(const IndexVector_t& shape1, const IndexVector_t& strides1,
       6             :                                 const IndexVector_t& shape2, const IndexVector_t& strides2)
       7         122 :     {
       8         122 :         index_t dim_count = shape1.size();
       9         122 :         if (dim_count != shape2.size()) {
      10           0 :             throw NdViewDimError();
      11           0 :         }
      12         122 :         size_t element_count = 1;
      13         122 :         bool strides_compatible = true;
      14         488 :         for (index_t i = 0; i < dim_count; i++) {
      15         366 :             if (shape1(i) != shape2(i)) {
      16           0 :                 throw NdViewDimError();
      17           0 :             }
      18         366 :             strides_compatible &= strides1(i) == strides2(i);
      19         366 :             element_count *= shape1(i);
      20         366 :         }
      21         122 :         return strides_compatible;
      22         122 :     }
      23             : } // namespace elsa::detail

Generated by: LCOV version 1.14