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