diff --git a/src/TNL/Algorithms/Segments/CSR.h b/src/TNL/Algorithms/Segments/CSR.h index a05dccf29a3e282b42767d22e245fae841119110..fd5a80fd84e5ea92976fd98d08cec473c0911ccc 100644 --- a/src/TNL/Algorithms/Segments/CSR.h +++ b/src/TNL/Algorithms/Segments/CSR.h @@ -96,6 +96,10 @@ class CSR __cuda_callable__ SegmentViewType getSegmentView( const IndexType segmentIdx ) const; + const OffsetsHolder& getOffsets() const; + + OffsetsHolder& getOffsets(); + /*** * \brief Go over all segments and for each segment element call * function 'f' with arguments 'args'. The return type of 'f' is bool. diff --git a/src/TNL/Algorithms/Segments/CSR.hpp b/src/TNL/Algorithms/Segments/CSR.hpp index d6a177f3be5206301b388575346a95bb04d76393..6ea5c49f7a8d60b6bf627f1d96569815a21cf0e6 100644 --- a/src/TNL/Algorithms/Segments/CSR.hpp +++ b/src/TNL/Algorithms/Segments/CSR.hpp @@ -201,6 +201,28 @@ getSegmentView( const IndexType segmentIdx ) const -> SegmentViewType return SegmentViewType( offsets[ segmentIdx ], offsets[ segmentIdx + 1 ] - offsets[ segmentIdx ] ); } +template< typename Device, + typename Index, + typename Kernel, + typename IndexAllocator > +auto +CSR< Device, Index, Kernel, IndexAllocator >:: +getOffsets() const -> const OffsetsHolder& +{ + return this->offsets; +} + +template< typename Device, + typename Index, + typename Kernel, + typename IndexAllocator > +auto +CSR< Device, Index, Kernel, IndexAllocator >:: +getOffsets() -> OffsetsHolder& +{ + return this->offsets; +} + template< typename Device, typename Index, typename Kernel,