1 /* 2 Copyright (c) 2009-2014, Jack Poulson 3 All rights reserved. 4 5 This file is part of Elemental and is under the BSD 2-Clause License, 6 which can be found in the LICENSE file in the root directory, or at 7 http://opensource.org/licenses/BSD-2-Clause 8 */ 9 #pragma once 10 #ifndef ELEM_DISTMATRIX_HPP 11 #define ELEM_DISTMATRIX_HPP 12 13 namespace elem { 14 15 struct DistData 16 { 17 Dist colDist, rowDist; 18 Int colAlign, rowAlign; 19 Int root; // relevant for [o ,o ]/[MD,* ]/[* ,MD] 20 const Grid* grid; 21 22 template<typename T,Dist U,Dist V> DistDataelem::DistData23 DistData( const GeneralDistMatrix<T,U,V>& A ) 24 : colDist(U), rowDist(V), 25 colAlign(A.ColAlign()), rowAlign(A.RowAlign()), 26 root(A.Root()), grid(&A.Grid()) 27 { } 28 }; 29 30 } // namespace elem 31 32 #include "./DistMatrix/Abstract.hpp" 33 #include "./DistMatrix/General.hpp" 34 #include "./DistMatrix/CIRC_CIRC.hpp" 35 #include "./DistMatrix/MC_MR.hpp" 36 #include "./DistMatrix/MC_STAR.hpp" 37 #include "./DistMatrix/MD_STAR.hpp" 38 #include "./DistMatrix/MR_MC.hpp" 39 #include "./DistMatrix/MR_STAR.hpp" 40 #include "./DistMatrix/STAR_MC.hpp" 41 #include "./DistMatrix/STAR_MD.hpp" 42 #include "./DistMatrix/STAR_MR.hpp" 43 #include "./DistMatrix/STAR_STAR.hpp" 44 #include "./DistMatrix/STAR_VC.hpp" 45 #include "./DistMatrix/STAR_VR.hpp" 46 #include "./DistMatrix/VC_STAR.hpp" 47 #include "./DistMatrix/VR_STAR.hpp" 48 49 #endif // ifndef ELEM_DISTMATRIX_HPP 50