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 |