Teuchos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Teuchos_Details_LapackLongDouble.hpp
Go to the documentation of this file.
1// @HEADER
2// ***********************************************************************
3//
4// Teuchos: Common Tools Package
5// Copyright (2004) Sandia Corporation
6//
7// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8// license for use of this work by or on behalf of the U.S. Government.
9//
10// Redistribution and use in source and binary forms, with or without
11// modification, are permitted provided that the following conditions are
12// met:
13//
14// 1. Redistributions of source code must retain the above copyright
15// notice, this list of conditions and the following disclaimer.
16//
17// 2. Redistributions in binary form must reproduce the above copyright
18// notice, this list of conditions and the following disclaimer in the
19// documentation and/or other materials provided with the distribution.
20//
21// 3. Neither the name of the Corporation nor the names of the
22// contributors may be used to endorse or promote products derived from
23// this software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36//
37// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38//
39// ***********************************************************************
40// @HEADER
41
42#ifndef TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
43#define TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
44
48
50
51
52#ifdef HAVE_TEUCHOS_LONG_DOUBLE
53namespace Teuchos {
54namespace Details {
55
57class LapackLongDouble {
58public:
61 void
62 GETRF (const int M, const int N, long double A[],
63 const int LDA, int IPIV[], int* INFO) const;
64
79 void
80 LASWP (const int N, long double A[], const int LDA, const int K1,
81 const int K2, const int IPIV[], const int INCX) const;
82
85 void
86 GETRS (const char TRANS, const int N, const int NRHS,
87 const long double A[], const int LDA, const int IPIV[],
88 long double B[], const int LDB, int* INFO) const;
89
92 void
93 GETRI (const int N, long double A[], const int LDA, int IPIV[],
94 long double WORK[], const int LWORK, int* INFO) const;
95
98 long double
99 LAPY2 (const long double& x, const long double& y) const;
100
102 void
103 LARFG (const int N, long double* const ALPHA,
104 long double X[], const int INCX, long double* const TAU) const;
105
107 void
108 LARF (const char side,
109 const int m,
110 const int n,
111 const long double v[],
112 const int incv,
113 const long double tau,
114 long double C[],
115 const int ldc,
116 long double work[]) const;
117
119 void
120 ORM2R (const char side, const char trans,
121 const int m, const int n, const int k,
122 const long double A[], const int lda,
123 const long double* const tau,
124 long double C[], const int ldc,
125 long double work[], int* const info) const;
126
128 void
129 GEQR2 (const int M,
130 const int N,
131 long double A[],
132 const int LDA,
133 long double TAU[],
134 long double WORK[],
135 int* const INFO) const;
136
138 void
139 GEQRF (const int M,
140 const int N,
141 long double A[],
142 const int LDA,
143 long double TAU[],
144 long double WORK[],
145 const int LWORK,
146 int* const INFO) const;
147
149 void
150 ORGQR (const int M,
151 const int N,
152 const int K,
153 long double A[],
154 const int LDA,
155 const long double TAU[],
156 long double WORK[],
157 const int LWORK,
158 int* const INFO) const;
159
161 void
162 UNGQR (const int M,
163 const int N,
164 const int K,
165 long double A[],
166 const int LDA,
167 const long double TAU[],
168 long double WORK[],
169 const int LWORK,
170 int* const INFO) const;
171
173 void
174 LASCL (const char TYPE,
175 const int kl,
176 const int ku,
177 const long double cfrom,
178 const long double cto,
179 const int m,
180 const int n,
181 long double* A,
182 const int lda,
183 int* info) const;
184
186 void
187 GBTRF (const int m,
188 const int n,
189 const int kl,
190 const int ku,
191 long double* A,
192 const int lda,
193 int* IPIV,
194 int* info) const;
195
197 void
198 GBTRS (const char TRANS,
199 const int n,
200 const int kl,
201 const int ku,
202 const int nrhs,
203 const long double* A,
204 const int lda,
205 const int* IPIV,
206 long double* B,
207 const int ldb,
208 int* info) const;
209};
210
211} // namespace Details
212} // namespace Teuchos
213#endif // HAVE_TEUCHOS_LONG_DOUBLE
214
215#endif // TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
Definition PackageA.cpp:3
Definition PackageB.cpp:3
Definition PackageC.cpp:3
Namespace of implementation details.