コード例 #1
0
ファイル: STAR_MR.cpp プロジェクト: timmoon10/Elemental
DM& DM::operator=( const DistMatrix<T,CIRC,CIRC>& A )
{
    DEBUG_CSE
    DistMatrix<T,MC,MR> A_MC_MR( A );
    A_MC_MR.AlignWith( *this );
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #2
0
ファイル: VR_STAR.cpp プロジェクト: elemental/Elemental
BDM& BDM::operator=( const DistMatrix<T,STAR,MR,BLOCK>& A )
{
    EL_DEBUG_CSE
    DistMatrix<T,MC,MR,BLOCK> A_MC_MR( A );
    DistMatrix<T,VC,STAR,BLOCK> A_VC_STAR( A_MC_MR );
    A_MC_MR.Empty();
    *this = A_VC_STAR;
    return *this;
}
コード例 #3
0
ファイル: STAR_MR.cpp プロジェクト: timmoon10/Elemental
DM& DM::operator=( const DistMatrix<T,VC,STAR>& A )
{
    DEBUG_CSE
    DistMatrix<T,MC,MR> A_MC_MR(this->Grid());
    A_MC_MR.AlignRowsWith(*this);
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #4
0
ファイル: STAR_MR.cpp プロジェクト: nooperpudd/Elemental
BDM& BDM::operator=( const DistMatrix<T,MC,STAR,BLOCK>& A )
{
    DEBUG_ONLY(CSE cse("[STAR,MR] = [MC,STAR]"))
    DistMatrix<T,MC,MR,BLOCK> A_MC_MR(this->Grid());
    A_MC_MR.AlignRowsWith(*this);
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #5
0
ファイル: STAR_MR.cpp プロジェクト: nooperpudd/Elemental
BDM& BDM::operator=( const DistMatrix<T,CIRC,CIRC,BLOCK>& A )
{
    DEBUG_ONLY(CSE cse("[STAR,MR] = [CIRC,CIRC]"))
    DistMatrix<T,MC,MR,BLOCK> A_MC_MR( A );
    A_MC_MR.AlignWith( *this );
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #6
0
ファイル: VR_STAR.cpp プロジェクト: nooperpudd/Elemental
DM& DM::operator=( const DistMatrix<T,STAR,MR>& A )
{ 
    DEBUG_ONLY(CSE cse("[VR,STAR] = [STAR,MR]"))
    DistMatrix<T> A_MC_MR( A );
    DistMatrix<T,VC,STAR> A_VC_STAR( A_MC_MR );
    A_MC_MR.Empty(); 
    *this = A_VC_STAR;
    return *this;
}
コード例 #7
0
ファイル: STAR_VC.cpp プロジェクト: arbenson/Elemental
DM& DM::operator=( const DistMatrix<T,MC,STAR>& A )
{ 
    DEBUG_ONLY(CallStackEntry cse("[STAR,VC] = [MC,STAR]"))
    std::unique_ptr<DistMatrix<T,MC,MR>> A_MC_MR( new DistMatrix<T,MC,MR>(A) );
    std::unique_ptr<DistMatrix<T,STAR,VR>> A_STAR_VR
    ( new DistMatrix<T,STAR,VR>(*A_MC_MR) );
    delete A_MC_MR.release(); // lowers memory highwater
    *this = *A_STAR_VR;
    return *this;
}
コード例 #8
0
ファイル: STAR_MR.cpp プロジェクト: SamKChang/madness
BDM&
BDM::operator=( const BlockDistMatrix<T,MC,STAR>& A )
{
    DEBUG_ONLY(CallStackEntry cse("[STAR,MR] = [MC,STAR]"))
    BlockDistMatrix<T,MC,MR> A_MC_MR(this->Grid());
    A_MC_MR.AlignRowsWith(*this);
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #9
0
ファイル: STAR_MR.cpp プロジェクト: SamKChang/madness
BDM&
BDM::operator=( const BlockDistMatrix<T,CIRC,CIRC>& A )
{
    DEBUG_ONLY(CallStackEntry cse("[STAR,MR] = [CIRC,CIRC]"))
    BlockDistMatrix<T,MC,MR> A_MC_MR( A );
    A_MC_MR.AlignWith( *this );
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #10
0
ファイル: MC_STAR.cpp プロジェクト: ifzz/Elemental
BDM& BDM::operator=( const DistMatrix<T,STAR,VC,BLOCK>& A )
{ 
    DEBUG_ONLY(CSE cse("[MC,STAR] = [STAR,VC]"))
    DistMatrix<T,STAR,VR,BLOCK> A_STAR_VR( A );
    DistMatrix<T,MC,  MR,BLOCK> A_MC_MR( this->Grid() );
    A_MC_MR.AlignColsWith(*this);
    A_MC_MR = A_STAR_VR;
    A_STAR_VR.Empty();
    *this = A_MC_MR;
    return *this;
}
コード例 #11
0
ファイル: VR_STAR.cpp プロジェクト: SamKChang/madness
BDM&
BDM::operator=( const BlockDistMatrix<T,STAR,MR>& A )
{ 
    DEBUG_ONLY(CallStackEntry cse("[VR,STAR] = [STAR,MR]"))
    std::unique_ptr<BlockDistMatrix<T,MC,MR>> 
        A_MC_MR( new BlockDistMatrix<T,MC,MR>(A) );
    std::unique_ptr<BlockDistMatrix<T,VC,STAR>> 
        A_VC_STAR( new BlockDistMatrix<T,VC,STAR>(*A_MC_MR) );
    delete A_MC_MR.release(); // lowers memory highwater
    *this = *A_VC_STAR;
    return *this;
}
コード例 #12
0
ファイル: md_star.cpp プロジェクト: khalid-hasanov/Elemental
const DistMatrix<T,MD,STAR>&
DistMatrix<T,MD,STAR>::operator=( const DistMatrix<T,CIRC,CIRC>& A )
{
#ifndef RELEASE
    CallStackEntry entry("[MD,* ] = [o ,o ]");
#endif
    DistMatrix<T,MC,MR> A_MC_MR( A.Grid() );
    A_MC_MR.AlignWith( *this );
    A_MC_MR = A;
    *this = A_MC_MR;
    return *this;
}
コード例 #13
0
ファイル: STAR_MR.cpp プロジェクト: timmoon10/Elemental
DM& DM::operator=( const DistMatrix<T,VR,STAR>& A )
{
    DEBUG_CSE
    DistMatrix<T,VC,STAR> A_VC_STAR( A );
    DistMatrix<T> A_MC_MR( this->Grid() );
    A_MC_MR.AlignRowsWith(*this);
    A_MC_MR = A_VC_STAR;
    A_VC_STAR.Empty();

    *this = A_MC_MR;
    return *this;
}
コード例 #14
0
ファイル: MC_STAR.cpp プロジェクト: arbenson/Elemental
DM& DM::operator=( const DistMatrix<T,STAR,VC>& A )
{
    DEBUG_ONLY(CallStackEntry cse("[MC,STAR] = [STAR,VC]"))
    std::unique_ptr<DistMatrix<T,STAR,VR>> 
        A_STAR_VR( new DistMatrix<T,STAR,VR>(A) );
    std::unique_ptr<DistMatrix<T,MC,MR>> 
        A_MC_MR( new DistMatrix<T,MC,MR>(this->Grid()) );
    A_MC_MR->AlignColsWith(*this);
    *A_MC_MR = *A_STAR_VR;
    delete A_STAR_VR.release(); // lowers memory highwater
    *this = *A_MC_MR;
    return *this;
}
コード例 #15
0
ファイル: STAR_MR.cpp プロジェクト: mcopik/Elemental
DM& DM::operator=( const DistMatrix<T,MR,STAR>& A )
{ 
    DEBUG_ONLY(CSE cse("[STAR,MR] = [MR,STAR]"))
    DistMatrix<T,VR,STAR> A_VR_STAR( A );
    DistMatrix<T,VC,STAR> A_VC_STAR( A_VR_STAR );
    A_VR_STAR.Empty(); 

    DistMatrix<T> A_MC_MR( this->Grid() );
    A_MC_MR.AlignRowsWith( *this );
    A_MC_MR = A_VC_STAR;
    A_VC_STAR.Empty(); 

    *this = A_MC_MR;
    return *this;
}
コード例 #16
0
ファイル: MR_STAR.cpp プロジェクト: elemental/Elemental
BDM& BDM::operator=( const DistMatrix<T,STAR,MR,BLOCK>& A )
{
    EL_DEBUG_CSE
    DistMatrix<T,MC,MR,BLOCK> A_MC_MR( A );
    DistMatrix<T,VC,STAR,BLOCK> A_VC_STAR( A_MC_MR );
    A_MC_MR.Empty();

    DistMatrix<T,VR,STAR,BLOCK> A_VR_STAR( this->Grid() );
    A_VR_STAR.AlignColsWith(*this);
    A_VR_STAR = A_VC_STAR;
    A_VC_STAR.Empty();

    *this = A_VR_STAR;
    return *this;
}
コード例 #17
0
ファイル: STAR_MC.cpp プロジェクト: ifzz/Elemental
DM& DM::operator=( const DistMatrix<T,MC,STAR>& A )
{ 
    DEBUG_ONLY(CSE cse("[STAR,MC] = [MC,STAR]"))
    DistMatrix<T> A_MC_MR( A );
    DistMatrix<T,STAR,VR> A_STAR_VR( A_MC_MR );
    A_MC_MR.Empty(); 

    DistMatrix<T,STAR,VC> A_STAR_VC( this->Grid() );
    A_STAR_VC.AlignRowsWith(*this);
    A_STAR_VC = A_STAR_VR;
    A_STAR_VR.Empty();

    *this = A_STAR_VC;
    return *this;
}
コード例 #18
0
ファイル: STAR_MC.cpp プロジェクト: timmoon10/Elemental
BDM& BDM::operator=( const DistMatrix<T,MC,STAR,BLOCK>& A )
{
    DEBUG_CSE
    DistMatrix<T,MC,MR,BLOCK> A_MC_MR( A );
    DistMatrix<T,STAR,VR,BLOCK> A_STAR_VR( A_MC_MR );
    A_MC_MR.Empty();

    DistMatrix<T,STAR,VC,BLOCK> A_STAR_VC( this->Grid() );
    A_STAR_VC.AlignRowsWith(*this);
    A_STAR_VC = A_STAR_VR;
    A_STAR_VR.Empty();

    *this = A_STAR_VC;
    return *this;
}
コード例 #19
0
ファイル: STAR_MR.cpp プロジェクト: SamKChang/madness
BDM&
BDM::operator=( const BlockDistMatrix<T,VR,STAR>& A )
{ 
    DEBUG_ONLY(CallStackEntry cse("[STAR,MR] = [VR,STAR]"))
    std::unique_ptr<BlockDistMatrix<T,VC,STAR>> A_VC_STAR
    ( new BlockDistMatrix<T,VC,STAR>(A) );

    std::unique_ptr<BlockDistMatrix<T,MC,MR>> A_MC_MR
    ( new BlockDistMatrix<T,MC,MR>(this->Grid()) );
    A_MC_MR->AlignRowsWith(*this);
    *A_MC_MR = *A_VC_STAR;
    delete A_VC_STAR.release(); // lowers memory highwater

    *this = *A_MC_MR;
    return *this;
}