Actual source code: petscblaslapack_uscore.h
petsc-3.6.4 2016-04-12
1: /*
2: This file deals with underscore Fortran 77 naming conventions and those from the f2cblaslapack distribution.
3: */
4: #if !defined(_BLASLAPACK_USCORE_H)
5: #define _BLASLAPACK_USCORE_H
7: #if !defined(PETSC_USE_COMPLEX)
8: # if defined(PETSC_USE_REAL_SINGLE)
9: /* Real single precision with no character string arguments */
10: # define LAPACKgeqrf_ sgeqrf_
11: # define LAPACKungqr_ sorgqr_
12: # define LAPACKgetrf_ sgetrf_
13: # define LAPACKgetri_ sgetri_
14: # define BLASdot_ sdot_
15: # define BLASdotu_ sdot_
16: # define BLASnrm2_ snrm2_
17: # define BLASscal_ sscal_
18: # define BLAScopy_ scopy_
19: # define BLASswap_ sswap_
20: # define BLASaxpy_ saxpy_
21: # define BLASasum_ sasum_
22: # define LAPACKpttrf_ spttrf_
23: # define LAPACKpttrs_ spttrs_
24: # define LAPACKstein_ sstein_
25: # define LAPACKgesv_ sgesv_
26: # define LAPACKgelss_ sgelss_
27: # define LAPACKgerfs_ sgerfs_
28: # define LAPACKtgsen_ stgsen_
29: /* Real single precision with character string arguments. */
30: # define LAPACKpotrf_ spotrf_
31: # define LAPACKpotri_ spotri_
32: # define LAPACKpotrs_ spotrs_
33: # define LAPACKpotri_ spotri_
34: # define LAPACKsytrf_ ssytrf_
35: # define LAPACKsytrs_ ssytrs_
36: # define LAPACKsytri_ ssytri_
37: # define BLASgemv_ sgemv_
38: # define LAPACKgetrs_ sgetrs_
39: # define BLAStrmv_ strmv_
40: # define BLASgemm_ sgemm_
41: # define BLASsymm_ ssymm_
42: # define BLAStrsm_ strsm_
43: # define LAPACKgesvd_ sgesvd_
44: # define LAPACKgeev_ sgeev_
45: # define LAPACKsyev_ ssyev_
46: # define LAPACKsyevx_ ssyevx_
47: # define LAPACKsygv_ ssygv_
48: # define LAPACKsygvx_ ssygvx_
49: # define LAPACKstebz_ sstebz_
50: # define LAPACKsteqr_ ssteqr_
51: # define LAPACKhseqr_ shseqr_
52: # define LAPACKgges_ sgges_
53: # define LAPACKtrsen_ strsen_
54: # define LAPACKormqr_ sormqr_
55: # define LAPACKhgeqz_ shgeqz_
56: # define LAPACKtrtrs_ strtrs_
57: # elif defined(PETSC_USE_REAL_DOUBLE)
58: /* Real double precision with no character string arguments */
59: # define LAPACKgeqrf_ dgeqrf_
60: # define LAPACKungqr_ dorgqr_
61: # define LAPACKgetrf_ dgetrf_
62: # define LAPACKgetri_ dgetri_
63: # define BLASdot_ ddot_
64: # define BLASdotu_ ddot_
65: # define BLASnrm2_ dnrm2_
66: # define BLASscal_ dscal_
67: # define BLAScopy_ dcopy_
68: # define BLASswap_ dswap_
69: # define BLASaxpy_ daxpy_
70: # define BLASasum_ dasum_
71: # define LAPACKpttrf_ dpttrf_
72: # define LAPACKpttrs_ dpttrs_
73: # define LAPACKstein_ dstein_
74: # define LAPACKgesv_ dgesv_
75: # define LAPACKgelss_ dgelss_
76: # define LAPACKgerfs_ dgerfs_
77: # define LAPACKtgsen_ dtgsen_
78: /* Real double precision with character string arguments. */
79: # define LAPACKpotrf_ dpotrf_
80: # define LAPACKpotri_ dpotri_
81: # define LAPACKpotrs_ dpotrs_
82: # define LAPACKpotri_ dpotri_
83: # define LAPACKsytrf_ dsytrf_
84: # define LAPACKsytrs_ dsytrs_
85: # define LAPACKsytri_ dsytri_
86: # define BLASgemv_ dgemv_
87: # define LAPACKgetrs_ dgetrs_
88: # define BLAStrmv_ dtrmv_
89: # define BLASgemm_ dgemm_
90: # define BLASsymm_ dsymm_
91: # define BLAStrsm_ dtrsm_
92: # define LAPACKgesvd_ dgesvd_
93: # define LAPACKgeev_ dgeev_
94: # define LAPACKsyev_ dsyev_
95: # define LAPACKsyevx_ dsyevx_
96: # define LAPACKsygv_ dsygv_
97: # define LAPACKsygvx_ dsygvx_
98: # define LAPACKstebz_ dstebz_
99: # define LAPACKsteqr_ dsteqr_
100: # define LAPACKhseqr_ dhseqr_
101: # define LAPACKgges_ dgges_
102: # define LAPACKtrsen_ dtrsen_
103: # define LAPACKormqr_ dormqr_
104: # define LAPACKhgeqz_ dhgeqz_
105: # define LAPACKtrtrs_ dtrtrs_
106: # else
107: /* Real quad precision with no character string arguments */
108: # define LAPACKgeqrf_ qgeqrf_
109: # define LAPACKungqr_ qorgqr_
110: # define LAPACKgetrf_ qgetrf_
111: # define LAPACKgetri_ qgetri_
112: # define BLASdot_ qdot_
113: # define BLASdotu_ qdot_
114: # define BLASnrm2_ qnrm2_
115: # define BLASscal_ qscal_
116: # define BLAScopy_ qcopy_
117: # define BLASswap_ qswap_
118: # define BLASaxpy_ qaxpy_
119: # define BLASasum_ qasum_
120: # define LAPACKpttrf_ qpttrf_
121: # define LAPACKpttrs_ qpttrs_
122: # define LAPACKstein_ qstein_
123: # define LAPACKgesv_ qgesv_
124: # define LAPACKgelss_ qgelss_
125: # define LAPACKgerfs_ qgerfs_
126: # define LAPACKtgsen_ qtgsen_
127: /* Real quad precision with character string arguments. */
128: # define LAPACKpotrf_ qpotrf_
129: # define LAPACKpotri_ qpotri_
130: # define LAPACKpotrs_ qpotrs_
131: # define LAPACKpotri_ qpotri_
132: # define LAPACKsytrf_ qsytrf_
133: # define LAPACKsytrs_ qsytrs_
134: # define LAPACKsytri_ qsytri_
135: # define BLASgemv_ qgemv_
136: # define LAPACKgetrs_ qgetrs_
137: # define BLAStrmv_ qtrmv_
138: # define BLASgemm_ qgemm_
139: # define BLASsymm_ qsymm_
140: # define BLAStrsm_ qtrsm_
141: # define LAPACKgesvd_ qgesvd_
142: # define LAPACKgeev_ qgeev_
143: # define LAPACKsyev_ qsyev_
144: # define LAPACKsyevx_ qsyevx_
145: # define LAPACKsygv_ qsygv_
146: # define LAPACKsygvx_ qsygvx_
147: # define LAPACKstebz_ qstebz_
148: # define LAPACKsteqr_ qsteqr_
149: # define LAPACKhseqr_ qhseqr_
150: # define LAPACKgges_ qgges_
151: # define LAPACKtrsen_ qtrsen_
152: # define LAPACKormqr_ qormqr_
153: # define LAPACKhgeqz_ qhgeqz_
154: # define LAPACKtrtrs_ qtrtrs_
155: # endif
156: #else
157: # if defined(PETSC_USE_REAL_SINGLE)
158: /* Complex single precision with no character string arguments */
159: # define LAPACKgeqrf_ cgeqrf_
160: # define LAPACKungqr_ cungqr_
161: # define LAPACKgetrf_ cgetrf_
162: # define LAPACKgetri_ cgetri_
163: /* # define BLASdot_ cdotc_ */
164: /* # define BLASdotu_ cdotu_ */
165: # define BLASnrm2_ scnrm2_
166: # define BLASscal_ cscal_
167: # define BLAScopy_ ccopy_
168: # define BLASswap_ cswap_
169: # define BLASaxpy_ caxpy_
170: # define BLASasum_ scasum_
171: # define LAPACKpttrf_ cpttrf_
172: # define LAPACKstein_ cstein_
173: # define LAPACKgelss_ cgelss_
174: # define LAPACKgerfs_ cgerfs_
175: # define LAPACKtgsen_ ctgsen_
176: /* Complex single precision with character string arguments */
177: # define LAPACKpotrf_ cpotrf_
178: # define LAPACKpotri_ cpotri_
179: # define LAPACKpotrs_ cpotrs_
180: # define LAPACKpotri_ cpotri_
181: # define LAPACKsytrf_ csytrf_
182: # define LAPACKsytrs_ csytrs_
183: # define LAPACKsytri_ csytri_
184: # define BLASgemv_ cgemv_
185: # define LAPACKgetrs_ cgetrs_
186: # define BLAStrmv_ ctrmv_
187: # define BLASgemm_ cgemm_
188: # define BLASsymm_ csymm_
189: # define BLAStrsm_ ctrsm_
190: # define LAPACKgesvd_ cgesvd_
191: # define LAPACKgesv_ cgesv_
192: # define LAPACKgeev_ cgeev_
193: # define LAPACKsyev_ cheev_
194: # define LAPACKsyevx_ cheevx_
195: # define LAPACKsygv_ chegv_
196: # define LAPACKsygvx_ chegvx_
197: # define LAPACKpttrs_ cpttrs_
198: /* LAPACKstebz_ does not exist for complex. */
199: # define LAPACKsteqr_ csteqr_
200: # define LAPACKhseqr_ chseqr_
201: # define LAPACKgges_ cgges_
202: # define LAPACKtrsen_ ctrsen_
203: # define LAPACKormqr_ cormqr_
204: # define LAPACKhgeqz_ chgeqz_
205: # define LAPACKtrtrs_ ctrtrs_
206: # elif defined(PETSC_USE_REAL_DOUBLE)
207: /* Complex double precision with no character string arguments */
208: # define LAPACKgeqrf_ zgeqrf_
209: # define LAPACKungqr_ zungqr_
210: # define LAPACKgetrf_ zgetrf_
211: # define LAPACKgetri_ zgetri_
212: /* # define BLASdot_ zdotc_ */
213: /* # define BLASdotu_ zdotu_ */
214: # define BLASnrm2_ dznrm2_
215: # define BLASscal_ zscal_
216: # define BLAScopy_ zcopy_
217: # define BLASswap_ zswap_
218: # define BLASaxpy_ zaxpy_
219: # define BLASasum_ dzasum_
220: # define LAPACKpttrf_ zpttrf_
221: # define LAPACKstein_ zstein_
222: # define LAPACKgesv_ zgesv_
223: # define LAPACKgelss_ zgelss_
224: # define LAPACKgerfs_ zgerfs_
225: # define LAPACKtgsen_ ztgsen_
226: /* Complex double precision with character string arguments */
227: # define LAPACKpotrf_ zpotrf_
228: # define LAPACKpotri_ zpotri_
229: # define LAPACKpotrs_ zpotrs_
230: # define LAPACKpotri_ zpotri_
231: # define LAPACKsytrf_ zsytrf_
232: # define LAPACKsytrs_ zsytrs_
233: # define LAPACKsytri_ zsytri_
234: # define BLASgemv_ zgemv_
235: # define LAPACKgetrs_ zgetrs_
236: # define BLAStrmv_ ztrmv_
237: # define BLASgemm_ zgemm_
238: # define BLASsymm_ zsymm_
239: # define BLAStrsm_ ztrsm_
240: # define LAPACKgesvd_ zgesvd_
241: # define LAPACKgeev_ zgeev_
242: # define LAPACKsyev_ zheev_
243: # define LAPACKsyevx_ zheevx_
244: # define LAPACKsygv_ zhegv_
245: # define LAPACKsygvx_ zhegvx_
246: # define LAPACKpttrs_ zpttrs_
247: /* LAPACKstebz_ does not exist for complex. */
248: # define LAPACKsteqr_ zsteqr_
249: # define LAPACKhseqr_ zhseqr_
250: # define LAPACKgges_ zgges_
251: # define LAPACKtrsen_ ztrsen_
252: # define LAPACKormqr_ zormqr_
253: # define LAPACKhgeqz_ zhgeqz_
254: # define LAPACKtrtrs_ ztrtrs_
255: # else
256: /* Complex quad precision with no character string arguments */
257: # define LAPACKgeqrf_ wgeqrf_
258: # define LAPACKungqr_ wungqr_
259: # define LAPACKgetrf_ wgetrf_
260: # define LAPACKgetri_ wgetri_
261: /* # define BLASdot_ wdotc_ */
262: /* # define BLASdotu_ wdotu_ */
263: # define BLASnrm2_ qwnrm2_
264: # define BLASscal_ wscal_
265: # define BLAScopy_ wcopy_
266: # define BLASswap_ wswap_
267: # define BLASaxpy_ waxpy_
268: # define BLASasum_ qwasum_
269: # define LAPACKpttrf_ wpttrf_
270: # define LAPACKstein_ wstein_
271: # define LAPACKgesv_ wgesv_
272: # define LAPACKgelss_ wgelss_
273: # define LAPACKgerfs_ wgerfs_
274: # define LAPACKtgsen_ wtgsen_
275: /* Complex quad precision with character string arguments */
276: # define LAPACKpotrf_ wpotrf_
277: # define LAPACKpotri_ wpotri_
278: # define LAPACKpotrs_ wpotrs_
279: # define LAPACKpotri_ wpotri_
280: # define LAPACKsytrf_ wsytrf_
281: # define LAPACKsytrs_ wsytrs_
282: # define LAPACKsytri_ wsytri_
283: # define BLASgemv_ wgemv_
284: # define LAPACKgetrs_ wgetrs_
285: # define BLAStrmv_ wtrmv_
286: # define BLASgemm_ wgemm_
287: # define BLASsymm_ wsymm_
288: # define BLAStrsm_ wtrsm_
289: # define LAPACKgesvd_ wgesvd_
290: # define LAPACKgeev_ wgeev_
291: # define LAPACKsyev_ wheev_
292: # define LAPACKsyevx_ wheevx_
293: # define LAPACKsygv_ whegv_
294: # define LAPACKsygvx_ whegvx_
295: # define LAPACKpttrs_ wpttrs_
296: /* LAPACKstebz_ does not exist for complex. */
297: # define LAPACKsteqr_ wsteqr_
298: # define LAPACKhseqr_ whseqr_
299: # define LAPACKgges_ wgges_
300: # define LAPACKtrsen_ wtrsen_
301: # endif
302: #endif
304: #endif