Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_Details_Lapack128.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_LAPACK128_HPP
11 #define TEUCHOS_DETAILS_LAPACK128_HPP
12 
16 
17 #include "Teuchos_ConfigDefs.hpp"
18 
19 
20 #ifdef HAVE_TEUCHOSCORE_QUADMATH
21 namespace Teuchos {
22 namespace Details {
23 
25 class Lapack128 {
26 public:
29  void
30  GETRF (const int M, const int N, __float128 A[],
31  const int LDA, int IPIV[], int* INFO) const;
32 
47  void
48  LASWP (const int N, __float128 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 __float128 A[], const int LDA, const int IPIV[],
56  __float128 B[], const int LDB, int* INFO) const;
57 
60  void
61  GETRI (const int N, __float128 A[], const int LDA, int IPIV[],
62  __float128 WORK[], const int LWORK, int* INFO) const;
63 
66  __float128
67  LAPY2 (const __float128& x, const __float128& y) const;
68 
70  void
71  LARFG (const int N, __float128* const ALPHA,
72  __float128 X[], const int INCX, __float128* const TAU) const;
73 
75  void
76  LARF (const char side,
77  const int m,
78  const int n,
79  const __float128 v[],
80  const int incv,
81  const __float128 tau,
82  __float128 C[],
83  const int ldc,
84  __float128 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 __float128 A[], const int lda,
91  const __float128* const tau,
92  __float128 C[], const int ldc,
93  __float128 work[], int* const info) const;
94 
96  void
97  GEQR2 (const int M,
98  const int N,
99  __float128 A[],
100  const int LDA,
101  __float128 TAU[],
102  __float128 WORK[],
103  int* const INFO) const;
104 
106  void
107  GEQRF (const int M,
108  const int N,
109  __float128 A[],
110  const int LDA,
111  __float128 TAU[],
112  __float128 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  __float128 A[],
122  const int LDA,
123  const __float128 TAU[],
124  __float128 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  __float128 A[],
134  const int LDA,
135  const __float128 TAU[],
136  __float128 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 __float128 cfrom,
146  const __float128 cto,
147  const int m,
148  const int n,
149  __float128* 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  __float128* 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 __float128* A,
172  const int lda,
173  const int* IPIV,
174  __float128* B,
175  const int ldb,
176  int* info) const;
177 };
178 
179 } // namespace Details
180 } // namespace Teuchos
181 #endif // HAVE_TEUCHOSCORE_QUADMATH
182 
183 #endif // TEUCHOS_DETAILS_LAPACK128_HPP
Teuchos header file which uses auto-configuration information to include necessary C++ headers...