本文整理汇总了C++中DistMatrix::IsLocal方法的典型用法代码示例。如果您正苦于以下问题:C++ DistMatrix::IsLocal方法的具体用法?C++ DistMatrix::IsLocal怎么用?C++ DistMatrix::IsLocal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DistMatrix
的用法示例。
在下文中一共展示了DistMatrix::IsLocal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Zero
void GetMappedDiagonal
( const DistMatrix<T,U,V,BLOCK>& A,
AbstractDistMatrix<S>& d,
function<S(const T&)> func,
Int offset )
{
EL_DEBUG_CSE
EL_DEBUG_ONLY(AssertSameGrids( A, d ))
// TODO(poulson): Make this more efficient
const Int diagLength = A.DiagonalLength(offset);
d.Resize( diagLength, 1 );
Zero( d );
if( d.Participating() && A.RedundantRank() == 0 )
{
const Int iStart = Max(-offset,0);
const Int jStart = Max( offset,0);
for( Int k=0; k<diagLength; ++k )
{
if( A.IsLocal(iStart+k,jStart+k) )
{
const Int iLoc = A.LocalRow(iStart+k);
const Int jLoc = A.LocalCol(jStart+k);
d.QueueUpdate(k,0,func(A.GetLocal(iLoc,jLoc)));
}
}
}
d.ProcessQueues();
}