Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_Details_LapackLongDouble.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Teuchos: Common Tools Package
4 //
5 // Copyright 2004 NTESS and the Teuchos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
11 #define TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
12 
16 
17 #include "Teuchos_ConfigDefs.hpp"
18 
19 
20 #ifdef HAVE_TEUCHOS_LONG_DOUBLE
21 namespace Teuchos {
22 namespace Details {
23 
25 class LapackLongDouble {
26 public:
29  void
30  GETRF (const int M, const int N, long double A[],
31  const int LDA, int IPIV[], int* INFO) const;
32 
47  void
48  LASWP (const int N, long double A[], const int LDA, const int K1,
49  const int K2, const int IPIV[], const int INCX) const;
50 
53  void
54  GETRS (const char TRANS, const int N, const int NRHS,
55  const long double A[], const int LDA, const int IPIV[],
56  long double B[], const int LDB, int* INFO) const;
57 
60  void
61  GETRI (const int N, long double A[], const int LDA, int IPIV[],
62  long double WORK[], const int LWORK, int* INFO) const;
63 
66  long double
67  LAPY2 (const long double& x, const long double& y) const;
68 
70  void
71  LARFG (const int N, long double* const ALPHA,
72  long double X[], const int INCX, long double* const TAU) const;
73 
75  void
76  LARF (const char side,
77  const int m,
78  const int n,
79  const long double v[],
80  const int incv,
81  const long double tau,
82  long double C[],
83  const int ldc,
84  long double work[]) const;
85 
87  void
88  ORM2R (const char side, const char trans,
89  const int m, const int n, const int k,
90  const long double A[], const int lda,
91  const long double* const tau,
92  long double C[], const int ldc,
93  long double work[], int* const info) const;
94 
96  void
97  GEQR2 (const int M,
98  const int N,
99  long double A[],
100  const int LDA,
101  long double TAU[],
102  long double WORK[],
103  int* const INFO) const;
104 
106  void
107  GEQRF (const int M,
108  const int N,
109  long double A[],
110  const int LDA,
111  long double TAU[],
112  long double WORK[],
113  const int LWORK,
114  int* const INFO) const;
115 
117  void
118  ORGQR (const int M,
119  const int N,
120  const int K,
121  long double A[],
122  const int LDA,
123  const long double TAU[],
124  long double WORK[],
125  const int LWORK,
126  int* const INFO) const;
127 
129  void
130  UNGQR (const int M,
131  const int N,
132  const int K,
133  long double A[],
134  const int LDA,
135  const long double TAU[],
136  long double WORK[],
137  const int LWORK,
138  int* const INFO) const;
139 
141  void
142  LASCL (const char TYPE,
143  const int kl,
144  const int ku,
145  const long double cfrom,
146  const long double cto,
147  const int m,
148  const int n,
149  long double* A,
150  const int lda,
151  int* info) const;
152 
154  void
155  GBTRF (const int m,
156  const int n,
157  const int kl,
158  const int ku,
159  long double* A,
160  const int lda,
161  int* IPIV,
162  int* info) const;
163 
165  void
166  GBTRS (const char TRANS,
167  const int n,
168  const int kl,
169  const int ku,
170  const int nrhs,
171  const long double* A,
172  const int lda,
173  const int* IPIV,
174  long double* B,
175  const int ldb,
176  int* info) const;
177 };
178 
179 } // namespace Details
180 } // namespace Teuchos
181 #endif // HAVE_TEUCHOS_LONG_DOUBLE
182 
183 #endif // TEUCHOS_DETAILS_LAPACKLONGDOUBLE_HPP
Teuchos header file which uses auto-configuration information to include necessary C++ headers...