File: petscblaslapack_mangle.h.html

package info (click to toggle)
petsc 3.23.1%2Bdfsg1-1exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 515,576 kB
  • sloc: ansic: 751,607; cpp: 51,542; python: 38,598; f90: 17,352; javascript: 3,493; makefile: 3,157; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (252 lines) | stat: -rw-r--r-- 25,515 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<center><a href="https://gitlab.com/petsc/petsc/-/blob/966382dc56242773704ef5f5cee7aa2db3ebc577/include/petscblaslapack_mangle.h">Actual source code: petscblaslapack_mangle.h</a></center><br>

<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-04-30T18:14:50+00:00">
</head>

<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1">  1: </a><font color="#B22222">/*</font>
<a name="line2">  2: </a><font color="#B22222">      This file deals with the BLAS/LAPACK naming convention on</font>
<a name="line3">  3: </a><font color="#B22222">      non-Microsoft Windows systems, which may append an underscore, use</font>
<a name="line4">  4: </a><font color="#B22222">      upper or lower case, and/or use a configurable symbol suffix.</font>
<a name="line5">  5: </a><font color="#B22222">*/</font>
<a name="line6">  6: </a><font color="#A020F0">#pragma once</font>

<a name="line8">  8: </a><font color="#B22222">/* macros to mangle BLAS/LAPACK names as needed for linking */</font>

<a name="line10"> 10: </a><font color="#B22222">/* token pasting, with an extra level of indirection so that we</font>
<a name="line11"> 11: </a><font color="#B22222">   can paste the contents of other preprocessor #definitions */</font>
<a name="line12"> 12: </a><strong><font color="#228B22">#define PETSC_PASTE2_(a, b)    a##b</font></strong>
<a name="line13"> 13: </a><strong><font color="#228B22">#define PETSC_PASTE2(a, b)     PETSC_PASTE2_(a, b)</font></strong>
<a name="line14"> 14: </a><strong><font color="#228B22">#define PETSC_PASTE3_(a, b, c) a##b##c</font></strong>
<a name="line15"> 15: </a><strong><font color="#228B22">#define PETSC_PASTE3(a, b, c)  PETSC_PASTE3_(a, b, c)</font></strong>

<a name="line17"> 17: </a><font color="#A020F0">#if !defined(PETSC_BLASLAPACK_SUFFIX)</font>
<a name="line18"> 18: </a><font color="#A020F0">  #if defined(PETSC_BLASLAPACK_UNDERSCORE)</font>
<a name="line19"> 19: </a><strong><font color="#228B22">    #define PETSC_BLASLAPACK_SUFFIX_ _</font></strong>
<a name="line20"> 20: </a><font color="#A020F0">  #else</font>
<a name="line21"> 21: </a><strong><font color="#228B22">    #define PETSC_BLASLAPACK_SUFFIX_</font></strong>
<a name="line22"> 22: </a><font color="#A020F0">  #endif</font>
<a name="line23"> 23: </a><font color="#A020F0">#else</font>
<a name="line24"> 24: </a><font color="#A020F0">  #if defined(PETSC_BLASLAPACK_UNDERSCORE)</font>
<a name="line25"> 25: </a><strong><font color="#228B22">    #define PETSC_BLASLAPACK_SUFFIX_ PETSC_PASTE2(PETSC_BLASLAPACK_SUFFIX, _)</font></strong>
<a name="line26"> 26: </a><font color="#A020F0">  #else</font>
<a name="line27"> 27: </a><strong><font color="#228B22">    #define PETSC_BLASLAPACK_SUFFIX_ PETSC_BLASLAPACK_SUFFIX</font></strong>
<a name="line28"> 28: </a><font color="#A020F0">  #endif</font>
<a name="line29"> 29: </a><font color="#A020F0">#endif</font>

<a name="line31"> 31: </a><font color="#B22222">/* complex/real and single/double/quad/half precision prefixes: */</font>
<a name="line32"> 32: </a><font color="#A020F0">#if !defined(PETSC_USE_COMPLEX)</font>
<a name="line33"> 33: </a><font color="#A020F0">  #if defined(PETSC_BLASLAPACK_CAPS)</font>
<a name="line34"> 34: </a><font color="#A020F0">    #if defined(PETSC_USE_REAL_SINGLE)</font>
<a name="line35"> 35: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        S</font></strong>
<a name="line36"> 36: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX C</font></strong>
<a name="line37"> 37: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL_DOUBLE)</font>
<a name="line38"> 38: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        D</font></strong>
<a name="line39"> 39: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX Z</font></strong>
<a name="line40"> 40: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL___FLOAT128)</font>
<a name="line41"> 41: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        Q</font></strong>
<a name="line42"> 42: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX W</font></strong>
<a name="line43"> 43: </a><font color="#A020F0">    #else</font>
<a name="line44"> 44: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        H</font></strong>
<a name="line45"> 45: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX K</font></strong>
<a name="line46"> 46: </a><font color="#A020F0">    #endif</font>
<a name="line47"> 47: </a><font color="#A020F0">  #else</font>
<a name="line48"> 48: </a><font color="#A020F0">    #if defined(PETSC_USE_REAL_SINGLE)</font>
<a name="line49"> 49: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        s</font></strong>
<a name="line50"> 50: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX c</font></strong>
<a name="line51"> 51: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL_DOUBLE)</font>
<a name="line52"> 52: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        d</font></strong>
<a name="line53"> 53: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX z</font></strong>
<a name="line54"> 54: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL___FLOAT128)</font>
<a name="line55"> 55: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        q</font></strong>
<a name="line56"> 56: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX w</font></strong>
<a name="line57"> 57: </a><font color="#A020F0">    #else</font>
<a name="line58"> 58: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_        h</font></strong>
<a name="line59"> 59: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_COMPLEX k</font></strong>
<a name="line60"> 60: </a><font color="#A020F0">    #endif</font>
<a name="line61"> 61: </a><font color="#A020F0">  #endif</font>
<a name="line62"> 62: </a><strong><font color="#228B22">  #define PETSC_BLASLAPACK_RPREFIX_    PETSC_BLASLAPACK_PREFIX_</font></strong>
<a name="line63"> 63: </a><strong><font color="#228B22">  #define PETSC_BLASLAPACK_PREFIX_REAL PETSC_BLASLAPACK_PREFIX_</font></strong>
<a name="line64"> 64: </a><font color="#A020F0">#else</font>
<a name="line65"> 65: </a><font color="#A020F0">  #if defined(PETSC_BLASLAPACK_CAPS)</font>
<a name="line66"> 66: </a><font color="#A020F0">    #if defined(PETSC_USE_REAL_SINGLE)</font>
<a name="line67"> 67: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     C</font></strong>
<a name="line68"> 68: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL S</font></strong>
<a name="line69"> 69: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    SC</font></strong>
<a name="line70"> 70: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL_DOUBLE)</font>
<a name="line71"> 71: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     Z</font></strong>
<a name="line72"> 72: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL D</font></strong>
<a name="line73"> 73: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    DZ</font></strong>
<a name="line74"> 74: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL___FLOAT128)</font>
<a name="line75"> 75: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     W</font></strong>
<a name="line76"> 76: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL Q</font></strong>
<a name="line77"> 77: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    QW</font></strong>
<a name="line78"> 78: </a><font color="#A020F0">    #else</font>
<a name="line79"> 79: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     K</font></strong>
<a name="line80"> 80: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL H</font></strong>
<a name="line81"> 81: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    HK</font></strong>
<a name="line82"> 82: </a><font color="#A020F0">    #endif</font>
<a name="line83"> 83: </a><font color="#A020F0">  #else</font>
<a name="line84"> 84: </a><font color="#A020F0">    #if defined(PETSC_USE_REAL_SINGLE)</font>
<a name="line85"> 85: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     c</font></strong>
<a name="line86"> 86: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL s</font></strong>
<a name="line87"> 87: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    sc</font></strong>
<a name="line88"> 88: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL_DOUBLE)</font>
<a name="line89"> 89: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     z</font></strong>
<a name="line90"> 90: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL d</font></strong>
<a name="line91"> 91: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    dz</font></strong>
<a name="line92"> 92: </a><font color="#A020F0">    #elif defined(PETSC_USE_REAL___FLOAT128)</font>
<a name="line93"> 93: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     w</font></strong>
<a name="line94"> 94: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL q</font></strong>
<a name="line95"> 95: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    qw</font></strong>
<a name="line96"> 96: </a><font color="#A020F0">    #else</font>
<a name="line97"> 97: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_     k</font></strong>
<a name="line98"> 98: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_PREFIX_REAL h</font></strong>
<a name="line99"> 99: </a><strong><font color="#228B22">      #define PETSC_BLASLAPACK_RPREFIX_    hk</font></strong>
<a name="line100">100: </a><font color="#A020F0">    #endif</font>
<a name="line101">101: </a><font color="#A020F0">  #endif</font>
<a name="line102">102: </a><strong><font color="#228B22">  #define PETSC_BLASLAPACK_PREFIX_COMPLEX PETSC_BLASLAPACK_PREFIX_</font></strong>
<a name="line103">103: </a><font color="#A020F0">#endif</font>

<a name="line105">105: </a><font color="#B22222">/* define macros PETSCBLAS to mangle BLAS/LAPACK subroutine names, and</font>
<a name="line106">106: </a><font color="#B22222">   PETSCBLASR for functions returning real values */</font>
<a name="line107">107: </a><font color="#A020F0">#if defined(PETSC_BLASLAPACK_CAPS)</font>
<a name="line108">108: </a><strong><font color="#228B22">  #define PETSCBLAS(x, X)        PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_, X, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line109">109: </a><strong><font color="#228B22">  #define PETSCBLASREAL(x, X)    PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_REAL, X, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line110">110: </a><strong><font color="#228B22">  #define PETSCBLASCOMPLEX(x, X) PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_COMPLEX, X, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line111">111: </a><strong><font color="#228B22">  #define PETSCBLASR(x, X)       PETSC_PASTE3(PETSC_BLASLAPACK_RPREFIX_, X, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line112">112: </a><font color="#A020F0">#else</font>
<a name="line113">113: </a><strong><font color="#228B22">  #define PETSCBLAS(x, X)        PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_, x, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line114">114: </a><strong><font color="#228B22">  #define PETSCBLASREAL(x, X)    PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_REAL, x, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line115">115: </a><strong><font color="#228B22">  #define PETSCBLASCOMPLEX(x, X) PETSC_PASTE3(PETSC_BLASLAPACK_PREFIX_COMPLEX, x, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line116">116: </a><strong><font color="#228B22">  #define PETSCBLASR(x, X)       PETSC_PASTE3(PETSC_BLASLAPACK_RPREFIX_, x, PETSC_BLASLAPACK_SUFFIX_)</font></strong>
<a name="line117">117: </a><font color="#A020F0">#endif</font>

<a name="line119">119: </a><font color="#B22222">/* definitions of BLAS and LAPACK symbols */</font>

<a name="line121">121: </a><font color="#B22222">/* Subroutine names that are the same for real/complex data: */</font>
<a name="line122">122: </a><font color="#B22222">/* no character-string arguments: */</font>
<a name="line123">123: </a><strong><font color="#228B22">#define LAPACKgeqrf_     PETSCBLAS(geqrf, GEQRF)</font></strong>
<a name="line124">124: </a><strong><font color="#228B22">#define LAPACKgetrf_     PETSCBLAS(getrf, GETRF)</font></strong>
<a name="line125">125: </a><strong><font color="#228B22">#define LAPACKgetri_     PETSCBLAS(getri, GETRI)</font></strong>
<a name="line126">126: </a><strong><font color="#228B22">#define LAPACKREALgetrf_ PETSCBLASREAL(getrf, GETRF)</font></strong>
<a name="line127">127: </a><strong><font color="#228B22">#define LAPACKREALgetri_ PETSCBLASREAL(getri, GETRI)</font></strong>
<a name="line128">128: </a><strong><font color="#228B22">#define BLASnrm2_        PETSCBLASR(nrm2, NRM2)</font></strong>
<a name="line129">129: </a><strong><font color="#228B22">#define BLASscal_        PETSCBLAS(scal, SCAL)</font></strong>
<a name="line130">130: </a><strong><font color="#228B22">#define BLAScopy_        PETSCBLAS(copy, COPY)</font></strong>
<a name="line131">131: </a><strong><font color="#228B22">#define BLASswap_        PETSCBLAS(swap, SWAP)</font></strong>
<a name="line132">132: </a><strong><font color="#228B22">#define BLASaxpy_        PETSCBLAS(axpy, AXPY)</font></strong>
<a name="line133">133: </a><strong><font color="#228B22">#define BLASasum_        PETSCBLASR(asum, ASUM)</font></strong>
<a name="line134">134: </a><strong><font color="#228B22">#define LAPACKpttrf_     PETSCBLAS(pttrf, PTTRF) </font><font color="#B22222">/* factorization of a spd tridiagonal matrix */</font><font color="#228B22"></font></strong>
<a name="line135">135: </a><strong><font color="#228B22">#define LAPACKpttrs_     PETSCBLAS(pttrs, PTTRS) </font><font color="#B22222">/* solve a spd tridiagonal matrix system */</font><font color="#228B22"></font></strong>
<a name="line136">136: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_STEIN)</font>
<a name="line137">137: </a><strong><font color="#228B22">  #define LAPACKstein_ PETSCBLAS(stein, STEIN) </font><font color="#B22222">/* eigenvectors of real symm tridiagonal matrix */</font><font color="#228B22"></font></strong>
<a name="line138">138: </a><font color="#A020F0">#endif</font>
<a name="line139">139: </a><strong><font color="#228B22">#define LAPACKgesv_ PETSCBLAS(gesv, GESV)</font></strong>
<a name="line140">140: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_GELSS)</font>
<a name="line141">141: </a><strong><font color="#228B22">  #define LAPACKgelss_ PETSCBLAS(gelss, GELSS)</font></strong>
<a name="line142">142: </a><font color="#A020F0">#endif</font>
<a name="line143">143: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_GERFS)</font>
<a name="line144">144: </a><strong><font color="#228B22">  #define LAPACKgerfs_ PETSCBLAS(gerfs, GERFS)</font></strong>
<a name="line145">145: </a><font color="#A020F0">#endif</font>
<a name="line146">146: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_TGSEN)</font>
<a name="line147">147: </a><strong><font color="#228B22">  #define LAPACKtgsen_ PETSCBLAS(tgsen, TGSEN)</font></strong>
<a name="line148">148: </a><font color="#A020F0">#endif</font>
<a name="line149">149: </a><font color="#B22222">/* character-string arguments: */</font>
<a name="line150">150: </a><strong><font color="#228B22">#define LAPACKtrtri_ PETSCBLAS(trtri, TRTRI)</font></strong>
<a name="line151">151: </a><strong><font color="#228B22">#define LAPACKpotrf_ PETSCBLAS(potrf, POTRF)</font></strong>
<a name="line152">152: </a><strong><font color="#228B22">#define LAPACKpotri_ PETSCBLAS(potri, POTRI)</font></strong>
<a name="line153">153: </a><strong><font color="#228B22">#define LAPACKpotrs_ PETSCBLAS(potrs, POTRS)</font></strong>
<a name="line154">154: </a><strong><font color="#228B22">#define LAPACKsytrf_ PETSCBLAS(sytrf, SYTRF)</font></strong>
<a name="line155">155: </a><strong><font color="#228B22">#define LAPACKsytrs_ PETSCBLAS(sytrs, SYTRS)</font></strong>
<a name="line156">156: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_SYTRI)</font>
<a name="line157">157: </a><strong><font color="#228B22">  #define LAPACKsytri_ PETSCBLAS(sytri, SYTRI)</font></strong>
<a name="line158">158: </a><font color="#A020F0">#endif</font>
<a name="line159">159: </a><strong><font color="#228B22">#define BLASgemv_     PETSCBLAS(gemv, GEMV)</font></strong>
<a name="line160">160: </a><strong><font color="#228B22">#define LAPACKgetrs_  PETSCBLAS(getrs, GETRS)</font></strong>
<a name="line161">161: </a><strong><font color="#228B22">#define BLAStrmv_     PETSCBLAS(trmv, TRMV)</font></strong>
<a name="line162">162: </a><strong><font color="#228B22">#define BLAStrsv_     PETSCBLAS(trsv, TRSV)</font></strong>
<a name="line163">163: </a><strong><font color="#228B22">#define BLASgemm_     PETSCBLAS(gemm, GEMM)</font></strong>
<a name="line164">164: </a><strong><font color="#228B22">#define BLASsymm_     PETSCBLAS(symm, SYMM)</font></strong>
<a name="line165">165: </a><strong><font color="#228B22">#define BLASsyrk_     PETSCBLAS(syrk, SYRK)</font></strong>
<a name="line166">166: </a><strong><font color="#228B22">#define BLASsyr2k_    PETSCBLAS(syr2k, SYR2K)</font></strong>
<a name="line167">167: </a><strong><font color="#228B22">#define BLAStrsm_     PETSCBLAS(trsm, TRSM)</font></strong>
<a name="line168">168: </a><strong><font color="#228B22">#define BLASREALgemm_ PETSCBLASREAL(gemm, GEMM)</font></strong>
<a name="line169">169: </a><strong><font color="#228B22">#define LAPACKgesvd_  PETSCBLAS(gesvd, GESVD)</font></strong>
<a name="line170">170: </a><strong><font color="#228B22">#define LAPACKgeev_   PETSCBLAS(geev, GEEV)</font></strong>
<a name="line171">171: </a><strong><font color="#228B22">#define LAPACKgels_   PETSCBLAS(gels, GELS)</font></strong>
<a name="line172">172: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_STEGR)</font>
<a name="line173">173: </a><strong><font color="#228B22">  #define LAPACKstegr_ PETSCBLAS(stegr, STEGR) </font><font color="#B22222">/* eigenvalues and eigenvectors of symm tridiagonal */</font><font color="#228B22"></font></strong>
<a name="line174">174: </a><font color="#A020F0">#endif</font>
<a name="line175">175: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_STEQR)</font>
<a name="line176">176: </a><strong><font color="#228B22">  #define LAPACKsteqr_     PETSCBLAS(steqr, STEQR) </font><font color="#B22222">/* eigenvalues and eigenvectors of symm tridiagonal */</font><font color="#228B22"></font></strong>
<a name="line177">177: </a><strong><font color="#228B22">  #define LAPACKREALsteqr_ PETSCBLASREAL(steqr, STEQR)</font></strong>
<a name="line178">178: </a><font color="#A020F0">#endif</font>
<a name="line179">179: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_STEV)</font>
<a name="line180">180: </a><strong><font color="#228B22">  #define LAPACKstev_     PETSCBLAS(stev, STEV) </font><font color="#B22222">/* eigenvalues and eigenvectors of symm tridiagonal */</font><font color="#228B22"></font></strong>
<a name="line181">181: </a><strong><font color="#228B22">  #define LAPACKREALstev_ PETSCBLASREAL(stev, STEV)</font></strong>
<a name="line182">182: </a><font color="#A020F0">#endif</font>
<a name="line183">183: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_HSEQR)</font>
<a name="line184">184: </a><strong><font color="#228B22">  #define LAPACKhseqr_ PETSCBLAS(hseqr, HSEQR)</font></strong>
<a name="line185">185: </a><font color="#A020F0">#endif</font>
<a name="line186">186: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_GGES)</font>
<a name="line187">187: </a><strong><font color="#228B22">  #define LAPACKgges_ PETSCBLAS(gges, GGES)</font></strong>
<a name="line188">188: </a><font color="#A020F0">#endif</font>
<a name="line189">189: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_TRSEN)</font>
<a name="line190">190: </a><strong><font color="#228B22">  #define LAPACKtrsen_ PETSCBLAS(trsen, TRSEN)</font></strong>
<a name="line191">191: </a><font color="#A020F0">#endif</font>
<a name="line192">192: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_HGEQZ)</font>
<a name="line193">193: </a><strong><font color="#228B22">  #define LAPACKhgeqz_ PETSCBLAS(hgeqz, HGEQZ)</font></strong>
<a name="line194">194: </a><font color="#A020F0">#endif</font>
<a name="line195">195: </a><font color="#A020F0">#if !defined(PETSC_MISSING_LAPACK_TRTRS)</font>
<a name="line196">196: </a><strong><font color="#228B22">  #define LAPACKtrtrs_ PETSCBLAS(trtrs, TRTRS)</font></strong>
<a name="line197">197: </a><font color="#A020F0">#endif</font>

<a name="line199">199: </a><font color="#B22222">/* Subroutine names that differ for real/complex data: */</font>
<a name="line200">200: </a><font color="#A020F0">#if !defined(PETSC_USE_COMPLEX)</font>
<a name="line201">201: </a><font color="#A020F0">  #if !defined(PETSC_MISSING_LAPACK_ORGQR)</font>
<a name="line202">202: </a><strong><font color="#228B22">    #define LAPACKorgqr_ PETSCBLAS(orgqr, ORGQR)</font></strong>
<a name="line203">203: </a><font color="#A020F0">  #endif</font>
<a name="line204">204: </a><font color="#A020F0">  #if !defined(PETSC_MISSING_LAPACK_ORMQR)</font>
<a name="line205">205: </a><strong><font color="#228B22">    #define LAPACKormqr_ PETSCBLAS(ormqr, ORMQR)</font></strong>
<a name="line206">206: </a><font color="#A020F0">  #endif</font>
<a name="line207">207: </a><strong><font color="#228B22">  #define BLASdot_  PETSCBLAS(dot, DOT)</font></strong>
<a name="line208">208: </a><strong><font color="#228B22">  #define BLASdotu_ PETSCBLAS(dot, DOT)</font></strong>

<a name="line210">210: </a><strong><font color="#228B22">  #define LAPACKsyev_  PETSCBLAS(syev, SYEV)   </font><font color="#B22222">/* eigenvalues and eigenvectors of a symm matrix */</font><font color="#228B22"></font></strong>
<a name="line211">211: </a><strong><font color="#228B22">  #define LAPACKsyevx_ PETSCBLAS(syevx, SYEVX) </font><font color="#B22222">/* selected eigenvalues and eigenvectors of a symm matrix */</font><font color="#228B22"></font></strong>
<a name="line212">212: </a><strong><font color="#228B22">  #define LAPACKsygv_  PETSCBLAS(sygv, SYGV)</font></strong>
<a name="line213">213: </a><strong><font color="#228B22">  #define LAPACKsygvx_ PETSCBLAS(sygvx, SYGVX)</font></strong>

<a name="line215">215: </a>  <font color="#B22222">/* stebz does not exist for complex data */</font>
<a name="line216">216: </a><font color="#A020F0">  #if !defined(PETSC_MISSING_LAPACK_STEBZ)</font>
<a name="line217">217: </a><strong><font color="#228B22">    #define LAPACKstebz_ PETSCBLAS(stebz, STEBZ) </font><font color="#B22222">/* eigenvalues of symm tridiagonal matrix */</font><font color="#228B22"></font></strong>
<a name="line218">218: </a><font color="#A020F0">  #endif</font>
<a name="line219">219: </a><font color="#A020F0">#else</font>
<a name="line220">220: </a><strong><font color="#228B22">  #define LAPACKhetrf_ PETSCBLAS(hetrf, HETRF)</font></strong>
<a name="line221">221: </a><strong><font color="#228B22">  #define LAPACKhetrs_ PETSCBLAS(hetrs, HETRS)</font></strong>
<a name="line222">222: </a><strong><font color="#228B22">  #define LAPACKhetri_ PETSCBLAS(hetri, HETRI)</font></strong>
<a name="line223">223: </a><strong><font color="#228B22">  #define LAPACKheev_  PETSCBLAS(heev, HEEV)</font></strong>
<a name="line224">224: </a><font color="#A020F0">  #if !defined(PETSC_MISSING_LAPACK_ORGQR)</font>
<a name="line225">225: </a><strong><font color="#228B22">    #define LAPACKorgqr_ PETSCBLAS(ungqr, UNGQR)</font></strong>
<a name="line226">226: </a><font color="#A020F0">  #endif</font>
<a name="line227">227: </a><font color="#A020F0">  #if !defined(PETSC_MISSING_LAPACK_ORMQR)</font>
<a name="line228">228: </a><strong><font color="#228B22">    #define LAPACKormqr_ PETSCBLAS(unmqr, UNMQR)</font></strong>
<a name="line229">229: </a><font color="#A020F0">  #endif</font>
<a name="line230">230: </a><font color="#B22222">/* note: dot and dotu are handled separately for complex data */</font>

<a name="line232">232: </a><strong><font color="#228B22">  #define LAPACKsyev_  PETSCBLAS(heev, HEEV)   </font><font color="#B22222">/* eigenvalues and eigenvectors of a symm matrix */</font><font color="#228B22"></font></strong>
<a name="line233">233: </a><strong><font color="#228B22">  #define LAPACKsyevx_ PETSCBLAS(heevx, HEEVX) </font><font color="#B22222">/* selected eigenvalues and eigenvectors of a symm matrix */</font><font color="#228B22"></font></strong>
<a name="line234">234: </a><strong><font color="#228B22">  #define LAPACKsygv_  PETSCBLAS(hegv, HEGV)</font></strong>
<a name="line235">235: </a><strong><font color="#228B22">  #define LAPACKsygvx_ PETSCBLAS(hegvx, HEGVX)</font></strong>
<a name="line236">236: </a><font color="#A020F0">#endif</font>
</pre>
</body>

</html>