slu_Cnames.h
Go to the documentation of this file.
1 
19 #ifndef __SUPERLU_CNAMES /* allow multiple inclusions */
20 #define __SUPERLU_CNAMES
21 
22 
23 #define ADD_ 0
24 #define ADD__ 1
25 #define NOCHANGE 2
26 #define UPCASE 3
27 #define OLD_CRAY 4
28 #define C_CALL 5
29 
30 #ifdef UpCase
31 #define F77_CALL_C UPCASE
32 #endif
33 
34 #ifdef NoChange
35 #define F77_CALL_C NOCHANGE
36 #endif
37 
38 #ifdef Add_
39 #define F77_CALL_C ADD_
40 #endif
41 
42 #ifdef Add__
43 #define F77_CALL_C ADD__
44 #endif
45 
46 #ifdef _CRAY
47 #define F77_CALL_C OLD_CRAY
48 #endif
49 
50 /* Default */
51 #ifndef F77_CALL_C
52 #define F77_CALL_C ADD_
53 #endif
54 
55 
56 #if (F77_CALL_C == ADD_)
57 /*
58  * These defines set up the naming scheme required to have a fortran 77
59  * routine call a C routine
60  * No redefinition necessary to have following Fortran to C interface:
61  * FORTRAN CALL C DECLARATION
62  * call dgemm(...) void dgemm_(...)
63  *
64  * This is the default.
65  */
66 
67 #endif
68 
69 #if (F77_CALL_C == ADD__)
70 /*
71  * These defines set up the naming scheme required to have a fortran 77
72  * routine call a C routine
73  * for following Fortran to C interface:
74  * FORTRAN CALL C DECLARATION
75  * call dgemm(...) void dgemm__(...)
76  */
77 /* BLAS */
78 #define sswap_ sswap__
79 #define saxpy_ saxpy__
80 #define sasum_ sasum__
81 #define isamax_ isamax__
82 #define scopy_ scopy__
83 #define sscal_ sscal__
84 #define sger_ sger__
85 #define snrm2_ snrm2__
86 #define ssymv_ ssymv__
87 #define sdot_ sdot__
88 #define saxpy_ saxpy__
89 #define ssyr2_ ssyr2__
90 #define srot_ srot__
91 #define sgemv_ sgemv__
92 #define strsv_ strsv__
93 #define sgemm_ sgemm__
94 #define strsm_ strsm__
95 
96 #define dswap_ dswap__
97 #define daxpy_ daxpy__
98 #define dasum_ dasum__
99 #define idamax_ idamax__
100 #define dcopy_ dcopy__
101 #define dscal_ dscal__
102 #define dger_ dger__
103 #define dnrm2_ dnrm2__
104 #define dsymv_ dsymv__
105 #define ddot_ ddot__
106 #define dsyr2_ dsyr2__
107 #define drot_ drot__
108 #define dgemv_ dgemv__
109 #define dtrsv_ dtrsv__
110 #define dgemm_ dgemm__
111 #define dtrsm_ dtrsm__
112 
113 #define cswap_ cswap__
114 #define caxpy_ caxpy__
115 #define scasum_ scasum__
116 #define icamax_ icamax__
117 #define ccopy_ ccopy__
118 #define cscal_ cscal__
119 #define scnrm2_ scnrm2__
120 #define caxpy_ caxpy__
121 #define cgemv_ cgemv__
122 #define ctrsv_ ctrsv__
123 #define cgemm_ cgemm__
124 #define ctrsm_ ctrsm__
125 #define cgerc_ cgerc__
126 #define chemv_ chemv__
127 #define cher2_ cher2__
128 
129 #define zswap_ zswap__
130 #define zaxpy_ zaxpy__
131 #define dzasum_ dzasum__
132 #define izamax_ izamax__
133 #define zcopy_ zcopy__
134 #define zscal_ zscal__
135 #define dznrm2_ dznrm2__
136 #define zaxpy_ zaxpy__
137 #define zgemv_ zgemv__
138 #define ztrsv_ ztrsv__
139 #define zgemm_ zgemm__
140 #define ztrsm_ ztrsm__
141 #define zgerc_ zgerc__
142 #define zhemv_ zhemv__
143 #define zher2_ zher2__
144 
145 /* LAPACK */
146 #define dlamch_ dlamch__
147 #define slamch_ slamch__
148 #define xerbla_ xerbla__
149 #define lsame_ lsame__
150 #define dlacon_ dlacon__
151 #define slacon_ slacon__
152 #define icmax1_ icmax1__
153 #define scsum1_ scsum1__
154 #define clacon_ clacon__
155 #define dzsum1_ dzsum1__
156 #define izmax1_ izmax1__
157 #define zlacon_ zlacon__
158 
159 /* Fortran interface */
160 #define c_bridge_dgssv_ c_bridge_dgssv__
161 #define c_fortran_sgssv_ c_fortran_sgssv__
162 #define c_fortran_dgssv_ c_fortran_dgssv__
163 #define c_fortran_cgssv_ c_fortran_cgssv__
164 #define c_fortran_zgssv_ c_fortran_zgssv__
165 #endif
166 
167 #if (F77_CALL_C == UPCASE)
168 /*
169  * These defines set up the naming scheme required to have a fortran 77
170  * routine call a C routine
171  * following Fortran to C interface:
172  * FORTRAN CALL C DECLARATION
173  * call dgemm(...) void DGEMM(...)
174  */
175 /* BLAS */
176 #define sswap_ SSWAP
177 #define saxpy_ SAXPY
178 #define sasum_ SASUM
179 #define isamax_ ISAMAX
180 #define scopy_ SCOPY
181 #define sscal_ SSCAL
182 #define sger_ SGER
183 #define snrm2_ SNRM2
184 #define ssymv_ SSYMV
185 #define sdot_ SDOT
186 #define saxpy_ SAXPY
187 #define ssyr2_ SSYR2
188 #define srot_ SROT
189 #define sgemv_ SGEMV
190 #define strsv_ STRSV
191 #define sgemm_ SGEMM
192 #define strsm_ STRSM
193 
194 #define dswap_ DSWAP
195 #define daxpy_ DAXPY
196 #define dasum_ DASUM
197 #define idamax_ IDAMAX
198 #define dcopy_ DCOPY
199 #define dscal_ DSCAL
200 #define dger_ DGER
201 #define dnrm2_ DNRM2
202 #define dsymv_ DSYMV
203 #define ddot_ DDOT
204 #define dsyr2_ DSYR2
205 #define drot_ DROT
206 #define dgemv_ DGEMV
207 #define dtrsv_ DTRSV
208 #define dgemm_ DGEMM
209 #define dtrsm_ DTRSM
210 
211 #define cswap_ CSWAP
212 #define caxpy_ CAXPY
213 #define scasum_ SCASUM
214 #define icamax_ ICAMAX
215 #define ccopy_ CCOPY
216 #define cscal_ CSCAL
217 #define scnrm2_ SCNRM2
218 #define cgemv_ CGEMV
219 #define ctrsv_ CTRSV
220 #define cgemm_ CGEMM
221 #define ctrsm_ CTRSM
222 #define cgerc_ CGERC
223 #define chemv_ CHEMV
224 #define cher2_ CHER2
225 
226 #define zswap_ ZSWAP
227 #define zaxpy_ ZAXPY
228 #define dzasum_ DZASUM
229 #define izamax_ IZAMAX
230 #define zcopy_ ZCOPY
231 #define zscal_ ZSCAL
232 #define dznrm2_ DZNRM2
233 #define zgemv_ ZGEMV
234 #define ztrsv_ ZTRSV
235 #define zgemm_ ZGEMM
236 #define ztrsm_ ZTRSM
237 #define zgerc_ ZGERC
238 #define zhemv_ ZHEMV
239 #define zher2_ ZHER2
240 
241 /* LAPACK */
242 #define dlamch_ DLAMCH
243 #define slamch_ SLAMCH
244 #define xerbla_ XERBLA
245 #define lsame_ LSAME
246 #define dlacon_ DLACON
247 #define slacon_ SLACON
248 #define icmax1_ ICMAX1
249 #define scsum1_ SCSUM1
250 #define clacon_ CLACON
251 #define dzsum1_ DZSUM1
252 #define izmax1_ IZMAX1
253 #define zlacon_ ZLACON
254 
255 /* Fortran interface */
256 #define c_bridge_dgssv_ C_BRIDGE_DGSSV
257 #define c_fortran_sgssv_ C_FORTRAN_SGSSV
258 #define c_fortran_dgssv_ C_FORTRAN_DGSSV
259 #define c_fortran_cgssv_ C_FORTRAN_CGSSV
260 #define c_fortran_zgssv_ C_FORTRAN_ZGSSV
261 #endif
262 
263 
264 #if (F77_CALL_C == OLD_CRAY)
265 /*
266  * These defines set up the naming scheme required to have a fortran 77
267  * routine call a C routine
268  * following Fortran to C interface:
269  * FORTRAN CALL C DECLARATION
270  * call dgemm(...) void SGEMM(...)
271  */
272 /* BLAS */
273 #define sswap_ SSWAP
274 #define saxpy_ SAXPY
275 #define sasum_ SASUM
276 #define isamax_ ISAMAX
277 #define scopy_ SCOPY
278 #define sscal_ SSCAL
279 #define sger_ SGER
280 #define snrm2_ SNRM2
281 #define ssymv_ SSYMV
282 #define sdot_ SDOT
283 #define ssyr2_ SSYR2
284 #define srot_ SROT
285 #define sgemv_ SGEMV
286 #define strsv_ STRSV
287 #define sgemm_ SGEMM
288 #define strsm_ STRSM
289 
290 #define dswap_ SSWAP
291 #define daxpy_ SAXPY
292 #define dasum_ SASUM
293 #define idamax_ ISAMAX
294 #define dcopy_ SCOPY
295 #define dscal_ SSCAL
296 #define dger_ SGER
297 #define dnrm2_ SNRM2
298 #define dsymv_ SSYMV
299 #define ddot_ SDOT
300 #define dsyr2_ SSYR2
301 #define drot_ SROT
302 #define dgemv_ SGEMV
303 #define dtrsv_ STRSV
304 #define dgemm_ SGEMM
305 #define dtrsm_ STRSM
306 
307 #define cswap_ CSWAP
308 #define caxpy_ CAXPY
309 #define scasum_ SCASUM
310 #define icamax_ ICAMAX
311 #define ccopy_ CCOPY
312 #define cscal_ CSCAL
313 #define scnrm2_ SCNRM2
314 #define caxpy_ CAXPY
315 #define cgemv_ CGEMV
316 #define ctrsv_ CTRSV
317 #define cgemm_ CGEMM
318 #define ctrsm_ CTRSM
319 #define cgerc_ CGERC
320 #define chemv_ CHEMV
321 #define cher2_ CHER2
322 
323 #define zswap_ ZSWAP
324 #define zaxpy_ ZAXPY
325 #define dzasum_ DZASUM
326 #define izamax_ IZAMAX
327 #define zcopy_ ZCOPY
328 #define zscal_ ZSCAL
329 #define dznrm2_ DZNRM2
330 #define zgemv_ ZGEMV
331 #define ztrsv_ ZTRSV
332 #define zgemm_ ZGEMM
333 #define ztrsm_ ZTRSM
334 #define zgerc_ ZGERC
335 #define zhemv_ ZHEMV
336 #define zher2_ ZHER2
337 
338 /* LAPACK */
339 #define dlamch_ DLAMCH
340 #define slamch_ SLAMCH
341 #define xerbla_ XERBLA
342 #define lsame_ LSAME
343 #define dlacon_ DLACON
344 #define slacon_ SLACON
345 #define icmax1_ ICMAX1
346 #define scsum1_ SCSUM1
347 #define clacon_ CLACON
348 #define dzsum1_ DZSUM1
349 #define izmax1_ IZMAX1
350 #define zlacon_ ZLACON
351 
352 /* Fortran interface */
353 #define c_bridge_dgssv_ C_BRIDGE_DGSSV
354 #define c_fortran_sgssv_ C_FORTRAN_SGSSV
355 #define c_fortran_dgssv_ C_FORTRAN_DGSSV
356 #define c_fortran_cgssv_ C_FORTRAN_CGSSV
357 #define c_fortran_zgssv_ C_FORTRAN_ZGSSV
358 #endif
359 
360 
361 #if (F77_CALL_C == NOCHANGE)
362 /*
363  * These defines set up the naming scheme required to have a fortran 77
364  * routine call a C routine
365  * for following Fortran to C interface:
366  * FORTRAN CALL C DECLARATION
367  * call dgemm(...) void dgemm(...)
368  */
369 /* BLAS */
370 #define sswap_ sswap
371 #define saxpy_ saxpy
372 #define sasum_ sasum
373 #define isamax_ isamax
374 #define scopy_ scopy
375 #define sscal_ sscal
376 #define sger_ sger
377 #define snrm2_ snrm2
378 #define ssymv_ ssymv
379 #define sdot_ sdot
380 #define saxpy_ saxpy
381 #define ssyr2_ ssyr2
382 #define srot_ srot
383 #define sgemv_ sgemv
384 #define strsv_ strsv
385 #define sgemm_ sgemm
386 #define strsm_ strsm
387 
388 #define dswap_ dswap
389 #define daxpy_ daxpy
390 #define dasum_ dasum
391 #define idamax_ idamax
392 #define dcopy_ dcopy
393 #define dscal_ dscal
394 #define dger_ dger
395 #define dnrm2_ dnrm2
396 #define dsymv_ dsymv
397 #define ddot_ ddot
398 #define dsyr2_ dsyr2
399 #define drot_ drot
400 #define dgemv_ dgemv
401 #define dtrsv_ dtrsv
402 #define dgemm_ dgemm
403 #define dtrsm_ dtrsm
404 
405 #define cswap_ cswap
406 #define caxpy_ caxpy
407 #define scasum_ scasum
408 #define icamax_ icamax
409 #define ccopy_ ccopy
410 #define cscal_ cscal
411 #define scnrm2_ scnrm2
412 #define cgemv_ cgemv
413 #define ctrsv_ ctrsv
414 #define cgemm_ cgemm
415 #define ctrsm_ ctrsm
416 #define cgerc_ cgerc
417 #define chemv_ chemv
418 #define cher2_ cher2
419 
420 #define zswap_ zswap
421 #define zaxpy_ zaxpy
422 #define dzasum_ dzasum
423 #define izamax_ izamax
424 #define zcopy_ zcopy
425 #define zscal_ zscal
426 #define dznrm2_ dznrm2
427 #define zgemv_ zgemv
428 #define ztrsv_ ztrsv
429 #define zgemm_ zgemm
430 #define ztrsm_ ztrsm
431 #define zgerc_ zgerc
432 #define zhemv_ zhemv
433 #define zher2_ zher2
434 
435 /* LAPACK */
436 #define dlamch_ dlamch
437 #define slamch_ slamch
438 #define xerbla_ xerbla
439 #define lsame_ lsame
440 #define dlacon_ dlacon
441 #define slacon_ slacon
442 #define icmax1_ icmax1
443 #define scsum1_ scsum1
444 #define clacon_ clacon
445 #define dzsum1_ dzsum1
446 #define izmax1_ izmax1
447 #define zlacon_ zlacon
448 
449 /* Fortran interface */
450 #define c_bridge_dgssv_ c_bridge_dgssv
451 #define c_fortran_sgssv_ c_fortran_sgssv
452 #define c_fortran_dgssv_ c_fortran_dgssv
453 #define c_fortran_cgssv_ c_fortran_cgssv
454 #define c_fortran_zgssv_ c_fortran_zgssv
455 #endif
456 
457 
458 #endif /* __SUPERLU_CNAMES */