/* Copyright (c) 2009-2014, Jack Poulson All rights reserved. This file is part of Elemental and is under the BSD 2-Clause License, which can be found in the LICENSE file in the root directory, or at http://opensource.org/licenses/BSD-2-Clause */ #pragma once #ifndef ELEM_TOEPLITZ_HPP #define ELEM_TOEPLITZ_HPP namespace elem { template inline void Toeplitz( Matrix& A, Int m, Int n, const std::vector& a ) { DEBUG_ONLY(CallStackEntry cse("Toeplitz")) const Int length = m+n-1; if( a.size() != Unsigned(length) ) LogicError("a was the wrong size"); A.Resize( m, n ); for( Int j=0; j inline void Toeplitz( DistMatrix& A, Int m, Int n, const std::vector& a ) { DEBUG_ONLY(CallStackEntry cse("Toeplitz")) const Int length = m+n-1; if( a.size() != Unsigned(length) ) LogicError("a was the wrong size"); A.Resize( m, n ); const Int localHeight = A.LocalHeight(); const Int localWidth = A.LocalWidth(); for( Int jLoc=0; jLoc inline void Toeplitz( BlockDistMatrix& A, Int m, Int n, const std::vector& a ) { DEBUG_ONLY(CallStackEntry cse("Toeplitz")) const Int length = m+n-1; if( a.size() != Unsigned(length) ) LogicError("a was the wrong size"); A.Resize( m, n ); const Int localHeight = A.LocalHeight(); const Int localWidth = A.LocalWidth(); for( Int jLoc=0; jLoc