|
DASH
0.3.0
|
Forward-declaration. More...
#include <LocalMatrixRef.h>
Public Types | |
| typedef T | value_type |
| typedef PatternT | pattern_type |
| typedef PatternT::index_type | index_type |
| typedef PatternT::size_type | size_type |
| typedef PatternT::index_type | difference_type |
| typedef GlobViewIter< value_type, PatternT, GlobMem_t > | iterator |
| typedef GlobViewIter< const value_type, PatternT, GlobMem_t > | const_iterator |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| typedef GlobRef< value_type > | reference |
| typedef GlobRef< const value_type > | const_reference |
| typedef GlobViewIter< value_type, PatternT, GlobMem_t > | pointer |
| typedef GlobViewIter< const value_type, PatternT, GlobMem_t > | const_pointer |
| typedef T * | local_pointer |
| typedef const T * | const_local_pointer |
| typedef self_t | local_type |
| template<dim_t NumViewDim> | |
| using | ViewT = LocalMatrixRef< T, NumDimensions, NumViewDim, PatternT, LocalMemT > |
| typedef std::integral_constant< dim_t, CUR > | rank |
Public Member Functions | |
| LocalMatrixRef () | |
| Default constructor. More... | |
| template<class T_ > | |
| LocalMatrixRef (const LocalMatrixRef< T_, NumDimensions, CUR+1, PatternT, LocalMemT > &previous, size_type coord) | |
| template<class T_ > | |
| LocalMatrixRef (Matrix< T_, NumDimensions, index_type, PatternT, LocalMemT > *mat) | |
| Constructor, creates a local view reference to a Matrix view. More... | |
| LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT > | block (const std::array< index_type, NumDimensions > &block_lcoords) |
| View at local block at given local block coordinates. More... | |
| LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT > | block (index_type block_lindex) |
| View at local block at given local block offset. More... | |
| operator LocalMatrixRef< T, NumDimensions, CUR-1, PatternT, LocalMemT > && () && | |
| operator MatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT > () | |
| T & | local_at (size_type pos) |
Returns a reference to the element at local index pos. More... | |
| const T & | local_at (size_type pos) const |
| constexpr Team & | team () const noexcept |
| constexpr size_type | size () const noexcept |
| constexpr size_type | local_size () const noexcept |
| constexpr size_type | local_capacity () const noexcept |
| size_type | extent (dim_t dim) const noexcept |
| constexpr Extents_t | extents () const noexcept |
| index_type | offset (dim_t dim) const noexcept |
| constexpr Offsets_t | offsets () const noexcept |
| constexpr bool | empty () const noexcept |
| constexpr const PatternT & | pattern () const |
| The pattern used to distribute matrix elements to units in its associated team. More... | |
| iterator | begin () noexcept |
| constexpr const_iterator | begin () const noexcept |
| iterator | end () noexcept |
| constexpr const_iterator | end () const noexcept |
| local_pointer | lbegin () noexcept |
| constexpr const_local_pointer | lbegin () const noexcept |
| local_pointer | lend () noexcept |
| constexpr const_local_pointer | lend () const noexcept |
| template<typename ... Args> | |
| T & | at (Args... args) |
| Fortran-style subscript operator. More... | |
| template<typename... Args> | |
| T & | operator() (Args... args) |
Fortran-style subscript operator, alias for at(). More... | |
| template<dim_t __NumViewDim = CUR-1> | |
| std::enable_if<(__NumViewDim > 0), LocalMatrixRef< T, NumDimensions, __NumViewDim, PatternT, LocalMemT > >::type | operator[] (size_type n) |
| Subscript assignment operator, access element at given offset in global element range. More... | |
| template<dim_t __NumViewDim = CUR-1> | |
| std::enable_if<(__NumViewDim==0), T & >::type | operator[] (size_type n) |
| template<dim_t __NumViewDim = CUR-1> | |
| std::enable_if<(__NumViewDim > 0), LocalMatrixRef< const T, NumDimensions, __NumViewDim, PatternT, LocalMemT > >::type constexpr | operator[] (size_type n) const |
| Subscript operator, access element at given offset in global element range. More... | |
| template<dim_t __NumViewDim = CUR-1> | |
| std::enable_if<(__NumViewDim==0), const T & >::type | operator[] (size_type n) const |
| LocalMatrixRef< T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | col (size_type n) |
| constexpr LocalMatrixRef< const T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | col (size_type n) const |
| LocalMatrixRef< T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | row (size_type n) |
| constexpr LocalMatrixRef< const T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | row (size_type n) const |
| template<dim_t NumSubDimensions> | |
| LocalMatrixRef< T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | sub (size_type n) |
| template<dim_t NumSubDimensions> | |
| LocalMatrixRef< const T, NumDimensions, NumDimensions-1, PatternT, LocalMemT > | sub (size_type n) const |
| template<dim_t SubDimension> | |
| LocalMatrixRef< T, NumDimensions, NumDimensions, PatternT, LocalMemT > | sub (size_type n, size_type range) |
| template<dim_t SubDimension> | |
| LocalMatrixRef< const T, NumDimensions, NumDimensions, PatternT, LocalMemT > | sub (size_type n, size_type range) const |
| LocalMatrixRef< T, NumDimensions, NumDimensions, PatternT, LocalMemT > | rows (size_type offset, size_type range) |
| Create a view representing the matrix slice within a row range. More... | |
| constexpr LocalMatrixRef< const T, NumDimensions, NumDimensions, PatternT, LocalMemT > | rows (size_type offset, size_type range) const |
| LocalMatrixRef< T, NumDimensions, NumDimensions, PatternT, LocalMemT > | cols (size_type offset, size_type extent) |
| Create a view representing the matrix slice within a column range. More... | |
| constexpr LocalMatrixRef< const T, NumDimensions, NumDimensions, PatternT, LocalMemT > | cols (size_type offset, size_type extent) const |
Static Public Member Functions | |
| static constexpr dim_t | ndim () |
Forward-declaration.
Local part of a Matrix, provides local operations.
Definition at line 42 of file LocalMatrixRef.h.
|
inline |
Default constructor.
Definition at line 158 of file LocalMatrixRef.h.
| dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::LocalMatrixRef | ( | Matrix< T_, NumDimensions, index_type, PatternT, LocalMemT > * | mat | ) |
Constructor, creates a local view reference to a Matrix view.
|
inline |
Fortran-style subscript operator.
As an example, the operation matrix(i,j) is equivalent to matrix[i][j].
| args | Global coordinates |
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| LocalMatrixRef<T, NumDimensions, CUR, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::block | ( | const std::array< index_type, NumDimensions > & | block_lcoords | ) |
View at local block at given local block coordinates.
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| LocalMatrixRef<T, NumDimensions, CUR, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::block | ( | index_type | block_lindex | ) |
View at local block at given local block offset.
| LocalMatrixRef<T, NumDimensions, NumDimensions, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::cols | ( | size_type | offset, |
| size_type | extent | ||
| ) |
Create a view representing the matrix slice within a column range.
Same as sub<1>(offset, extent).
| offset | Offset of first column in range |
| extent | Number of columns in the range |
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| constexpr LocalMatrixRef<const T, NumDimensions, NumDimensions, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::cols | ( | size_type | offset, |
| size_type | extent | ||
| ) | const |
| offset | Offset of first column in range |
| extent | Number of columns in the range |
|
inline |
Returns a reference to the element at local index pos.
The index is relative to the start of the local range.
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
|
inline |
Fortran-style subscript operator, alias for at().
As an example, the operation matrix(i,j) is equivalent to matrix[i][j].
| args | Coordinates of element in global cartesian index space. |
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| std::enable_if<(__NumViewDim > 0), LocalMatrixRef<T, NumDimensions, __NumViewDim, PatternT, LocalMemT> >::type dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::operator[] | ( | size_type | n | ) |
Subscript assignment operator, access element at given offset in global element range.
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| std::enable_if<(__NumViewDim > 0), LocalMatrixRef<const T, NumDimensions, __NumViewDim, PatternT, LocalMemT> >::type constexpr dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::operator[] | ( | size_type | n | ) | const |
Subscript operator, access element at given offset in global element range.
| constexpr const PatternT& dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::pattern | ( | ) | const |
The pattern used to distribute matrix elements to units in its associated team.
NOTE: This method is not implemented as local matrix views do not have a pattern. The pattern of the referenced matrix refers to the global data domain.
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| LocalMatrixRef<T, NumDimensions, NumDimensions, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::rows | ( | size_type | offset, |
| size_type | range | ||
| ) |
Create a view representing the matrix slice within a row range.
Same as sub<0>(offset, extent).
| offset | Offset of first row in range |
| range | Number of rows in the range |
Referenced by dash::LocalMatrixRef< ElementT, NumDimensions, NumDimensions, PatternT, LocalMemSpaceT >::LocalMatrixRef().
| constexpr LocalMatrixRef<const T, NumDimensions, NumDimensions, PatternT, LocalMemT> dash::LocalMatrixRef< T, NumDimensions, CUR, PatternT, LocalMemT >::rows | ( | size_type | offset, |
| size_type | range | ||
| ) | const |
| offset | Offset of first row in range |
| range | Number of rows in the range |