Loading src/TNL/Matrices/Matrix.h +1 −17 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ public: virtual void setCompressedRowLengths( ConstCompressedRowLengthsVectorView rowLengths ) = 0; [[deprecated]] virtual IndexType getRowLength( const IndexType row ) const = 0; // TODO: implementation is not parallel Loading @@ -79,12 +80,6 @@ public: __cuda_callable__ IndexType getColumns() const; /**** * TODO: The fast variants of the following methods cannot be virtual. * If they were, they could not be used in the CUDA kernels. If CUDA allows it * in the future and it does not slow down, declare them as virtual here. */ virtual bool setElement( const IndexType row, const IndexType column, const RealType& value ) = 0; Loading @@ -94,17 +89,6 @@ public: const RealType& value, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual bool setRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements ) = 0; virtual bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual Real getElement( const IndexType row, const IndexType column ) const = 0; Loading src/TNL/Matrices/MatrixView.h +0 −11 Original line number Diff line number Diff line Loading @@ -90,17 +90,6 @@ public: const RealType& value, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual bool setRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements ) = 0; virtual bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual Real getElement( const IndexType row, const IndexType column ) const = 0; Loading src/TNL/Matrices/SparseMatrix.h +12 −65 Original line number Diff line number Diff line Loading @@ -91,18 +91,17 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > template< typename Vector > void getCompressedRowLengths( Vector& rowLengths ) const; IndexType getRowLength( const IndexType row ) const; __cuda_callable__ IndexType getRowLengthFast( const IndexType row ) const; IndexType getNonZeroRowLength( const IndexType row ) const; __cuda_callable__ IndexType getNonZeroRowLengthFast( const IndexType row ) const; template< typename Real2, typename Device2, typename Index2, typename MatrixType2, template< typename, typename, typename > class Segments2, typename RealAllocator2, typename IndexAllocator2 > void setLike( const SparseMatrix< Real2, Device2, Index2, MatrixType2, Segments2, RealAllocator2, IndexAllocator2 >& matrix ); [[deprecated]] virtual IndexType getRowLength( const IndexType row ) const {}; template< typename Real_, typename Device_, typename Index_, typename MatrixType_, template< typename, typename, typename > class Segments_, typename RealAllocator_, typename IndexAllocator_ > void setLike( const SparseMatrix< Real_, Device_, Index_, MatrixType_, Segments_, RealAllocator_, IndexAllocator_ >& matrix ); IndexType getNumberOfNonzeroMatrixElements() const; Loading @@ -114,68 +113,18 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > __cuda_callable__ RowView getRow( const IndexType& rowIdx ); [[deprecated("")]] __cuda_callable__ bool setElementFast( const IndexType row, const IndexType column, const RealType& value ); bool setElement( const IndexType row, const IndexType column, const RealType& value ); [[deprecated("")]] __cuda_callable__ bool addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addElement( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ bool setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] bool setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] __cuda_callable__ bool addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ RealType getElementFast( const IndexType row, const IndexType column ) const; const RealType& thisElementMultiplicator ); RealType getElement( const IndexType row, const IndexType column ) const; [[deprecated("")]] __cuda_callable__ void getRowFast( const IndexType row, IndexType* columns, RealType* values ) const; template< typename Vector > __cuda_callable__ typename Vector::RealType rowVectorProduct( const IndexType row, Loading Loading @@ -255,8 +204,6 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > IndexAllocator indexAllocator; RealAllocator realAllocator; }; } // namespace Conatiners Loading src/TNL/Matrices/SparseMatrix.hpp +0 −211 Original line number Diff line number Diff line Loading @@ -195,64 +195,6 @@ getCompressedRowLengths( Vector& rowLengths ) const this->allRowsReduction( fetch, reduce, keep, 0 ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowLength( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowLengthFast( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getNonZeroRowLength( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getNonZeroRowLengthFast( const IndexType row ) const { } template< typename Real, typename Device, typename Index, Loading Loading @@ -331,23 +273,6 @@ getRow( const IndexType& rowIdx ) -> RowView return RowView( this->segments.getSegmentView( rowIdx ), this->values.getView(), this->columnIndexes.getView() ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setElementFast( const IndexType row, const IndexType column, const RealType& value ) { return this->addElementFast( row, column, value, 0.0 ); } template< typename Real, typename Device, typename Index, Loading @@ -364,24 +289,6 @@ setElement( const IndexType row, return this->addElement( row, column, value, 0.0 ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, Loading Loading @@ -448,107 +355,6 @@ addElement( const IndexType row, } } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ) { const IndexType rowLength = this->segments.getSegmentSize( row ); if( elements > rowLength ) return false; for( IndexType i = 0; i < elements; i++ ) { const IndexType globalIdx = this->segments.getGlobalIndex( row, i ); this->columnIndexes.setElement( globalIdx, columnIndexes[ i ] ); this->values.setElement( globalIdx, values[ i ] ); } for( IndexType i = elements; i < rowLength; i++ ) this->columnIndexes.setElement( this->segments.getGlobalIndex( row, i ), this->getPaddingIndex() ); return true; } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Real SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getElementFast( const IndexType row, const IndexType column ) const { } template< typename Real, typename Device, typename Index, Loading @@ -573,23 +379,6 @@ getElement( const IndexType row, return 0.0; } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ void SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowFast( const IndexType row, IndexType* columns, RealType* values ) const { } template< typename Real, typename Device, typename Index, Loading src/TNL/Matrices/SparseMatrixView.h +1 −58 Original line number Diff line number Diff line Loading @@ -79,16 +79,9 @@ class SparseMatrixView : public MatrixView< Real, Device, Index > template< typename Vector > void getCompressedRowLengths( Vector& rowLengths ) const; [[deprecated]] IndexType getRowLength( const IndexType row ) const; __cuda_callable__ IndexType getRowLengthFast( const IndexType row ) const; IndexType getNonZeroRowLength( const IndexType row ) const; __cuda_callable__ IndexType getNonZeroRowLengthFast( const IndexType row ) const; IndexType getNumberOfNonzeroMatrixElements() const; void reset(); Loading @@ -99,68 +92,18 @@ class SparseMatrixView : public MatrixView< Real, Device, Index > __cuda_callable__ RowView getRow( const IndexType& rowIdx ); [[deprecated("")]] __cuda_callable__ bool setElementFast( const IndexType row, const IndexType column, const RealType& value ); bool setElement( const IndexType row, const IndexType column, const RealType& value ); [[deprecated("")]] __cuda_callable__ bool addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addElement( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ bool setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] bool setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] __cuda_callable__ bool addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ RealType getElementFast( const IndexType row, const IndexType column ) const; RealType getElement( const IndexType row, const IndexType column ) const; [[deprecated("")]] __cuda_callable__ void getRowFast( const IndexType row, IndexType* columns, RealType* values ) const; template< typename Vector > __cuda_callable__ typename Vector::RealType rowVectorProduct( const IndexType row, Loading Loading
src/TNL/Matrices/Matrix.h +1 −17 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ public: virtual void setCompressedRowLengths( ConstCompressedRowLengthsVectorView rowLengths ) = 0; [[deprecated]] virtual IndexType getRowLength( const IndexType row ) const = 0; // TODO: implementation is not parallel Loading @@ -79,12 +80,6 @@ public: __cuda_callable__ IndexType getColumns() const; /**** * TODO: The fast variants of the following methods cannot be virtual. * If they were, they could not be used in the CUDA kernels. If CUDA allows it * in the future and it does not slow down, declare them as virtual here. */ virtual bool setElement( const IndexType row, const IndexType column, const RealType& value ) = 0; Loading @@ -94,17 +89,6 @@ public: const RealType& value, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual bool setRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements ) = 0; virtual bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual Real getElement( const IndexType row, const IndexType column ) const = 0; Loading
src/TNL/Matrices/MatrixView.h +0 −11 Original line number Diff line number Diff line Loading @@ -90,17 +90,6 @@ public: const RealType& value, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual bool setRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements ) = 0; virtual bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ) = 0; virtual Real getElement( const IndexType row, const IndexType column ) const = 0; Loading
src/TNL/Matrices/SparseMatrix.h +12 −65 Original line number Diff line number Diff line Loading @@ -91,18 +91,17 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > template< typename Vector > void getCompressedRowLengths( Vector& rowLengths ) const; IndexType getRowLength( const IndexType row ) const; __cuda_callable__ IndexType getRowLengthFast( const IndexType row ) const; IndexType getNonZeroRowLength( const IndexType row ) const; __cuda_callable__ IndexType getNonZeroRowLengthFast( const IndexType row ) const; template< typename Real2, typename Device2, typename Index2, typename MatrixType2, template< typename, typename, typename > class Segments2, typename RealAllocator2, typename IndexAllocator2 > void setLike( const SparseMatrix< Real2, Device2, Index2, MatrixType2, Segments2, RealAllocator2, IndexAllocator2 >& matrix ); [[deprecated]] virtual IndexType getRowLength( const IndexType row ) const {}; template< typename Real_, typename Device_, typename Index_, typename MatrixType_, template< typename, typename, typename > class Segments_, typename RealAllocator_, typename IndexAllocator_ > void setLike( const SparseMatrix< Real_, Device_, Index_, MatrixType_, Segments_, RealAllocator_, IndexAllocator_ >& matrix ); IndexType getNumberOfNonzeroMatrixElements() const; Loading @@ -114,68 +113,18 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > __cuda_callable__ RowView getRow( const IndexType& rowIdx ); [[deprecated("")]] __cuda_callable__ bool setElementFast( const IndexType row, const IndexType column, const RealType& value ); bool setElement( const IndexType row, const IndexType column, const RealType& value ); [[deprecated("")]] __cuda_callable__ bool addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addElement( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ bool setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] bool setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] __cuda_callable__ bool addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ RealType getElementFast( const IndexType row, const IndexType column ) const; const RealType& thisElementMultiplicator ); RealType getElement( const IndexType row, const IndexType column ) const; [[deprecated("")]] __cuda_callable__ void getRowFast( const IndexType row, IndexType* columns, RealType* values ) const; template< typename Vector > __cuda_callable__ typename Vector::RealType rowVectorProduct( const IndexType row, Loading Loading @@ -255,8 +204,6 @@ class SparseMatrix : public Matrix< Real, Device, Index, RealAllocator > IndexAllocator indexAllocator; RealAllocator realAllocator; }; } // namespace Conatiners Loading
src/TNL/Matrices/SparseMatrix.hpp +0 −211 Original line number Diff line number Diff line Loading @@ -195,64 +195,6 @@ getCompressedRowLengths( Vector& rowLengths ) const this->allRowsReduction( fetch, reduce, keep, 0 ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowLength( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowLengthFast( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getNonZeroRowLength( const IndexType row ) const { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Index SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getNonZeroRowLengthFast( const IndexType row ) const { } template< typename Real, typename Device, typename Index, Loading Loading @@ -331,23 +273,6 @@ getRow( const IndexType& rowIdx ) -> RowView return RowView( this->segments.getSegmentView( rowIdx ), this->values.getView(), this->columnIndexes.getView() ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setElementFast( const IndexType row, const IndexType column, const RealType& value ) { return this->addElementFast( row, column, value, 0.0 ); } template< typename Real, typename Device, typename Index, Loading @@ -364,24 +289,6 @@ setElement( const IndexType row, return this->addElement( row, column, value, 0.0 ); } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, Loading Loading @@ -448,107 +355,6 @@ addElement( const IndexType row, } } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ) { const IndexType rowLength = this->segments.getSegmentSize( row ); if( elements > rowLength ) return false; for( IndexType i = 0; i < elements; i++ ) { const IndexType globalIdx = this->segments.getGlobalIndex( row, i ); this->columnIndexes.setElement( globalIdx, columnIndexes[ i ] ); this->values.setElement( globalIdx, values[ i ] ); } for( IndexType i = elements; i < rowLength; i++ ) this->columnIndexes.setElement( this->segments.getGlobalIndex( row, i ), this->getPaddingIndex() ); return true; } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > bool SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator ) { } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ Real SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getElementFast( const IndexType row, const IndexType column ) const { } template< typename Real, typename Device, typename Index, Loading @@ -573,23 +379,6 @@ getElement( const IndexType row, return 0.0; } template< typename Real, typename Device, typename Index, typename MatrixType, template< typename, typename, typename > class Segments, typename RealAllocator, typename IndexAllocator > __cuda_callable__ void SparseMatrix< Real, Device, Index, MatrixType, Segments, RealAllocator, IndexAllocator >:: getRowFast( const IndexType row, IndexType* columns, RealType* values ) const { } template< typename Real, typename Device, typename Index, Loading
src/TNL/Matrices/SparseMatrixView.h +1 −58 Original line number Diff line number Diff line Loading @@ -79,16 +79,9 @@ class SparseMatrixView : public MatrixView< Real, Device, Index > template< typename Vector > void getCompressedRowLengths( Vector& rowLengths ) const; [[deprecated]] IndexType getRowLength( const IndexType row ) const; __cuda_callable__ IndexType getRowLengthFast( const IndexType row ) const; IndexType getNonZeroRowLength( const IndexType row ) const; __cuda_callable__ IndexType getNonZeroRowLengthFast( const IndexType row ) const; IndexType getNumberOfNonzeroMatrixElements() const; void reset(); Loading @@ -99,68 +92,18 @@ class SparseMatrixView : public MatrixView< Real, Device, Index > __cuda_callable__ RowView getRow( const IndexType& rowIdx ); [[deprecated("")]] __cuda_callable__ bool setElementFast( const IndexType row, const IndexType column, const RealType& value ); bool setElement( const IndexType row, const IndexType column, const RealType& value ); [[deprecated("")]] __cuda_callable__ bool addElementFast( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addElement( const IndexType row, const IndexType column, const RealType& value, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ bool setRowFast( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] bool setRow( const IndexType row, const IndexType* columnIndexes, const RealType* values, const IndexType elements ); [[deprecated("")]] __cuda_callable__ bool addRowFast( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] bool addRow( const IndexType row, const IndexType* columns, const RealType* values, const IndexType numberOfElements, const RealType& thisElementMultiplicator = 1.0 ); [[deprecated("")]] __cuda_callable__ RealType getElementFast( const IndexType row, const IndexType column ) const; RealType getElement( const IndexType row, const IndexType column ) const; [[deprecated("")]] __cuda_callable__ void getRowFast( const IndexType row, IndexType* columns, RealType* values ) const; template< typename Vector > __cuda_callable__ typename Vector::RealType rowVectorProduct( const IndexType row, Loading