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>
|