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_HEMV_HPP
11 #define ELEM_HEMV_HPP
12 
13 #include "./Symv.hpp"
14 
15 namespace elem {
16 
17 template<typename T>
18 inline void
Hemv(UpperOrLower uplo,T alpha,const Matrix<T> & A,const Matrix<T> & x,T beta,Matrix<T> & y)19 Hemv
20 ( UpperOrLower uplo,
21   T alpha, const Matrix<T>& A, const Matrix<T>& x, T beta, Matrix<T>& y )
22 {
23     DEBUG_ONLY(CallStackEntry cse("Hemv"))
24     Symv( uplo, alpha, A, x, beta, y, true );
25 }
26 
27 template<typename T>
28 inline void
Hemv(UpperOrLower uplo,T alpha,const DistMatrix<T> & A,const DistMatrix<T> & x,T beta,DistMatrix<T> & y)29 Hemv
30 ( UpperOrLower uplo,
31   T alpha, const DistMatrix<T>& A,
32            const DistMatrix<T>& x,
33   T beta,        DistMatrix<T>& y )
34 {
35     DEBUG_ONLY(CallStackEntry cse("Hemv"))
36     Symv( uplo, alpha, A, x, beta, y, true );
37 }
38 
39 } // namespace elem
40 
41 #endif // ifndef ELEM_HEMV_HPP
42