Commit 8298c25e authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Add reset method to segments.

parent fd9ccbd5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ class BiEllpack
      template< typename SizesHolder = OffsetsHolder >
      void setSegmentsSizes( const SizesHolder& sizes );

      void reset();

      IndexType getSegmentSize( const IndexType segmentIdx ) const;

      /**
@@ -148,8 +150,6 @@ class BiEllpack

      OffsetsHolder groupPointers;



      // TODO: Replace later
      __cuda_callable__ Index power( const IndexType number, const IndexType exponent ) const
      {
+16 −0
Original line number Diff line number Diff line
@@ -362,6 +362,22 @@ setSegmentsSizes( const SizesHolder& segmentsSizes )
   }
}

template< typename Device,
          typename Index,
          typename IndexAllocator,
          bool RowMajorOrder,
          int WarpSize >
void
BiEllpack< Device, Index, IndexAllocator, RowMajorOrder, WarpSize >::
reset()
{
   this->size = 0;
   this->storageSize = 0;
   this->virtualRows = 0;
   rowPermArray.reset();
   groupPointers.reset();
}

template< typename Device,
          typename Index,
          typename IndexAllocator,
+2 −0
Original line number Diff line number Diff line
@@ -55,6 +55,8 @@ class CSR
      template< typename SizesHolder = OffsetsHolder >
      void setSegmentsSizes( const SizesHolder& sizes );

      void reset();

      ViewType getView();

      const ConstViewType getConstView() const;
+12 −0
Original line number Diff line number Diff line
@@ -85,6 +85,18 @@ setSegmentsSizes( const SizesHolder& sizes )
   details::CSR< Device, Index >::setSegmentsSizes( sizes, this->offsets );
}

template< typename Device,
          typename Index,
          typename IndexAllocator >
void
CSR< Device, Index, IndexAllocator >::
reset()
{
   this->offsets.setSize( 1 );
   this->offsets = 0;
}


template< typename Device,
          typename Index,
          typename IndexAllocator >
+2 −0
Original line number Diff line number Diff line
@@ -69,6 +69,8 @@ class ChunkedEllpack
      template< typename SizesHolder = OffsetsHolder >
      void setSegmentsSizes( const SizesHolder& sizes );

      void reset();

      IndexType getSegmentSize( const IndexType segmentIdx ) const;

      /**
Loading