Actual source code: petscblaslapack_c.h
petsc-3.6.4 2016-04-12
1: /*
2: This file deals with unmangled BLAS/LAPACK naming convention on systems that do not modify BLAS/LAPACK function names
3: adding an underscore at the end or changing to CAPS. IBM is one such compiler.
4: */
5: #if !defined(_BLASLAPACK_C_H)
6: #define _BLASLAPACK_C_H
8: #if !defined(PETSC_USE_COMPLEX)
9: # if defined(PETSC_USE_REAL_SINGLE)
10: /* Real single precision with no character string arguments */
11: # define LAPACKgeqrf_ sgeqrf
12: # define LAPACKungqr_ sorgqr
13: # define LAPACKgetrf_ sgetrf
14: # define LAPACKgetri_ sgetri
15: # define BLASdot_ sdot
16: # define BLASdotu_ sdot
17: # define BLASnrm2_ snrm2
18: # define BLASscal_ sscal
19: # define BLAScopy_ scopy
20: # define BLASswap_ sswap
21: # define BLASaxpy_ saxpy
22: # define BLASasum_ sasum
23: # define LAPACKpttrf_ spttrf /* factorization of a spd tridiagonal matrix */
24: # define LAPACKpttrs_ spttrs /* solve a spd tridiagonal matrix system */
25: # define LAPACKstein_ sstein /* eigenvectors of real symm tridiagonal matrix */
26: # define LAPACKgesv_ sgesv
27: # define LAPACKgelss_ sgelss
28: # define LAPACKgerfs_ sgerfs
29: # define LAPACKtgsen_ stgsen
30: /* Real single precision with character string arguments. */
31: # define LAPACKpotrf_ spotrf
32: # define LAPACKpotri_ spotri
33: # define LAPACKpotrs_ spotrs
34: # define LAPACKpotri_ spotri
35: # define LAPACKsytrf_ ssytrf
36: # define LAPACKsytrs_ ssytrs
37: # define LAPACKsytri_ ssytri
38: # define BLASgemv_ sgemv
39: # define LAPACKgetrs_ sgetrs
40: # define BLAStrmv_ strmv
41: # define BLASgemm_ sgemm
42: # define BLASsymm_ ssymm
43: # define BLAStrsm_ strsm
44: # define LAPACKgesvd_ sgesvd
45: # define LAPACKgeev_ sgeev
46: # define LAPACKsyev_ ssyev /* eigenvalues and eigenvectors of a symm matrix */
47: # define LAPACKsyevx_ ssyevx /* selected eigenvalues and eigenvectors of a symm matrix */
48: # define LAPACKsygv_ ssygv
49: # define LAPACKsygvx_ ssygvx
50: # define LAPACKstebz_ sstebz /* eigenvalues of symm tridiagonal matrix */
51: # define LAPACKsteqr_ ssteqr /* eigenvalues and eigenvectors of symm tridiagonal */
52: # define LAPACKhseqr_ shseqr
53: # define LAPACKgges_ sgges
54: # define LAPACKtrsen_ strsen
55: # define LAPACKormqr_ sormqr
56: # define LAPACKhgeqz_ shgeqz
57: # define LAPACKtrtrs_ strtrs
58: # else
59: /* Real double precision with no character string arguments */
60: # define LAPACKgeqrf_ dgeqrf
61: # define LAPACKungqr_ dorgqr
62: # define LAPACKgetrf_ dgetrf
63: # define LAPACKgetri_ dgetri
64: # define BLASdot_ ddot
65: # define BLASdotu_ ddot
66: # define BLASnrm2_ dnrm2
67: # define BLASscal_ dscal
68: # define BLAScopy_ dcopy
69: # define BLASswap_ dswap
70: # define BLASaxpy_ daxpy
71: # define BLASasum_ dasum
72: # define LAPACKpttrf_ dpttrf
73: # define LAPACKpttrs_ dpttrs
74: # define LAPACKstein_ dstein
75: # define LAPACKgesv_ dgesv
76: # define LAPACKgelss_ dgelss
77: # define LAPACKgerfs_ dgerfs
78: # define LAPACKtgsen_ dtgsen
79: /* Real double precision with character string arguments. */
80: # define LAPACKpotrf_ dpotrf
81: # define LAPACKpotri_ dpotri
82: # define LAPACKpotrs_ dpotrs
83: # define LAPACKpotri_ dpotri
84: # define LAPACKsytrf_ dsytrf
85: # define LAPACKsytrs_ dsytrs
86: # define LAPACKsytri_ dsytri
87: # define BLASgemv_ dgemv
88: # define LAPACKgetrs_ dgetrs
89: # define BLAStrmv_ dtrmv
90: # define BLASgemm_ dgemm
91: # define BLASsymm_ dsymm
92: # define BLAStrsm_ dtrsm
93: # define LAPACKgesvd_ dgesvd
94: # define LAPACKgeev_ dgeev
95: # define LAPACKsyev_ dsyev
96: # define LAPACKsyevx_ dsyevx
97: # define LAPACKsygv_ dsygv
98: # define LAPACKsygvx_ dsygvx
99: # define LAPACKstebz_ dstebz
100: # define LAPACKsteqr_ dsteqr
101: # define LAPACKhseqr_ dhseqr
102: # define LAPACKgges_ dgges
103: # define LAPACKtrsen_ dtrsen
104: # define LAPACKormqr_ dormqr
105: # define LAPACKhgeqz_ dhgeqz
106: # define LAPACKtrtrs_ dtrtrs
107: # endif
108: #else
109: # if defined(PETSC_USE_REAL_SINGLE)
110: /* Complex single precision with no character string arguments */
111: # define LAPACKgeqrf_ cgeqrf
112: # define LAPACKungqr_ cungqr
113: # define LAPACKgetrf_ cgetrf
114: # define LAPACKgetri_ cgetri
115: /* # define BLASdot_ cdotc */
116: /* # define BLASdotu_ cdotu */
117: # define BLASnrm2_ scnrm2
118: # define BLASscal_ cscal
119: # define BLAScopy_ ccopy
120: # define BLASswap_ cswap
121: # define BLASaxpy_ caxpy
122: # define BLASasum_ scasum
123: # define LAPACKpttrf_ cpttrf
124: # define LAPACKstein_ cstein
125: # define LAPACKgelss_ cgelss
126: # define LAPACKgerfs_ cgerfs
127: # define LAPACKtgsen_ ctgsen
128: /* Complex single precision with character string arguments */
129: # define LAPACKpotrf_ cpotrf
130: # define LAPACKpotri_ cpotri
131: # define LAPACKpotrs_ cpotrs
132: # define LAPACKpotri_ cpotri
133: # define LAPACKsytrf_ csytrf
134: # define LAPACKsytrs_ csytrs
135: # define LAPACKsytri_ csytri
136: # define BLASgemv_ cgemv
137: # define LAPACKgetrs_ cgetrs
138: # define BLAStrmv_ ctrmv
139: # define BLASgemm_ cgemm
140: # define BLASsymm_ csymm
141: # define BLAStrsm_ ctrsm
142: # define LAPACKgesvd_ cgesvd
143: # define LAPACKgesv_ cgesv
144: # define LAPACKgeev_ cgeev
145: # define LAPACKsyev_ cheev
146: # define LAPACKsyevx_ cheevx
147: # define LAPACKsygv_ chegv
148: # define LAPACKsygvx_ chegvx
149: # define LAPACKpttrs_ cpttrs
150: # define LAPACKhseqr_ chseqr
151: # define LAPACKgges_ cgges
152: # define LAPACKtrsen_ ctrsen
153: # define LAPACKormqr_ cormqr
154: # define LAPACKhgeqz_ chgeqz
155: # define LAPACKtrtrs_ ctrtrs
156: /* LAPACKstebz_ does not exist for complex. */
157: # define LAPACKsteqr_ csteqr
158: # else
159: /* Complex double precision with no character string arguments */
160: # define LAPACKgeqrf_ zgeqrf
161: # define LAPACKungqr_ zungqr
162: # define LAPACKgetrf_ zgetrf
163: # define LAPACKgetri_ zgetri
164: /* # define BLASdot_ zdotc */
165: /* # define BLASdotu_ zdotu */
166: # define BLASnrm2_ dznrm2
167: # define BLASscal_ zscal
168: # define BLAScopy_ zcopy
169: # define BLASswap_ zswap
170: # define BLASaxpy_ zaxpy
171: # define BLASasum_ dzasum
172: # define LAPACKpttrf_ zpttrf
173: # define LAPACKstein_ zstein
174: # define LAPACKgesv_ zgesv
175: # define LAPACKgelss_ zgelss
176: # define LAPACKgerfs_ zgerfs
177: # define LAPACKtgsen_ ztgsen
178: /* Complex double precision with character string arguments */
179: # define LAPACKpotrf_ zpotrf
180: # define LAPACKpotri_ zpotri
181: # define LAPACKpotrs_ zpotrs
182: # define LAPACKpotri_ zpotri
183: # define LAPACKsytrf_ zsytrf
184: # define LAPACKsytrs_ zsytrs
185: # define LAPACKsytri_ zsytri
186: # define BLASgemv_ zgemv
187: # define LAPACKgetrs_ zgetrs
188: # define BLAStrmv_ ztrmv
189: # define BLASgemm_ zgemm
190: # define BLASsymm_ zsymm
191: # define BLAStrsm_ ztrsm
192: # define LAPACKgesvd_ zgesvd
193: # define LAPACKgeev_ zgeev
194: # define LAPACKsyev_ zheev
195: # define LAPACKsyevx_ zheevx
196: # define LAPACKsygv_ zhegv
197: # define LAPACKsygvx_ zhegvx
198: # define LAPACKpttrs_ zpttrs
199: # define LAPACKhseqr_ zhseqr
200: # define LAPACKtrsen_ ztrsen
201: # define LAPACKgges_ zgges
202: # define LAPACKormqr_ zormqr
203: # define LAPACKhgeqz_ zhgeqz
204: # define LAPACKtrtrs_ ztrtrs
205: /* LAPACKstebz_ does not exist for complex. */
206: # define LAPACKsteqr_ zsteqr
207: # endif
208: #endif
210: #endif