SuperLU 6.0.1
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 cswap_ cswap__
124#define caxpy_ caxpy__
125#define scasum_ scasum__
126#define icamax_ icamax__
127#define ccopy_ ccopy__
128#define cscal_ cscal__
129#define scnrm2_ scnrm2__
130#define caxpy_ caxpy__
131#define cgemv_ cgemv__
132#define ctrsv_ ctrsv__
133#define cgemm_ cgemm__
134#define ctrsm_ ctrsm__
135#define cgerc_ cgerc__
136#define chemv_ chemv__
137#define cher2_ cher2__
138
139#define zswap_ zswap__
140#define zaxpy_ zaxpy__
141#define dzasum_ dzasum__
142#define izamax_ izamax__
143#define zcopy_ zcopy__
144#define zscal_ zscal__
145#define dznrm2_ dznrm2__
146#define zaxpy_ zaxpy__
147#define zgemv_ zgemv__
148#define ztrsv_ ztrsv__
149#define zgemm_ zgemm__
150#define ztrsm_ ztrsm__
151#define zgerc_ zgerc__
152#define zhemv_ zhemv__
153#define zher2_ zher2__
154
155/* LAPACK */
156#define dlacon_ dlacon__
157#define slacon_ slacon__
158#define icmax1_ icmax1__
159#define scsum1_ scsum1__
160#define clacon_ clacon__
161#define dzsum1_ dzsum1__
162#define izmax1_ izmax1__
163#define zlacon_ zlacon__
164
165/* Fortran interface */
166#define c_bridge_dgssv_ c_bridge_dgssv__
167#define c_fortran_sgssv_ c_fortran_sgssv__
168#define c_fortran_dgssv_ c_fortran_dgssv__
169#define c_fortran_cgssv_ c_fortran_cgssv__
170#define c_fortran_zgssv_ c_fortran_zgssv__
171#endif
172
173#if (F77_CALL_C == UPCASE)
174/*
175 * These defines set up the naming scheme required to have a fortran 77
176 * routine call a C routine
177 * following Fortran to C interface:
178 * FORTRAN CALL C DECLARATION
179 * call dgemm(...) void DGEMM(...)
180 */
181/* BLAS */
182#define sswap_ SSWAP
183#define saxpy_ SAXPY
184#define sasum_ SASUM
185#define isamax_ ISAMAX
186#define scopy_ SCOPY
187#define sscal_ SSCAL
188#define sger_ SGER
189#define snrm2_ SNRM2
190#define ssymv_ SSYMV
191#define sdot_ SDOT
192#define saxpy_ SAXPY
193#define ssyr2_ SSYR2
194#define srot_ SROT
195#define sgemv_ SGEMV
196#define strsv_ STRSV
197#define sgemm_ SGEMM
198#define strsm_ STRSM
199
200#define dswap_ DSWAP
201#define daxpy_ DAXPY
202#define dasum_ DASUM
203#define idamax_ IDAMAX
204#define dcopy_ DCOPY
205#define dscal_ DSCAL
206#define dger_ DGER
207#define dnrm2_ DNRM2
208#define dsymv_ DSYMV
209#define ddot_ DDOT
210#define dsyr2_ DSYR2
211#define drot_ DROT
212#define dgemv_ DGEMV
213#define dtrsv_ DTRSV
214#define dgemm_ DGEMM
215#define dtrsm_ DTRSM
216
217#define cswap_ CSWAP
218#define caxpy_ CAXPY
219#define scasum_ SCASUM
220#define icamax_ ICAMAX
221#define ccopy_ CCOPY
222#define cscal_ CSCAL
223#define scnrm2_ SCNRM2
224#define cgemv_ CGEMV
225#define ctrsv_ CTRSV
226#define cgemm_ CGEMM
227#define ctrsm_ CTRSM
228#define cgerc_ CGERC
229#define chemv_ CHEMV
230#define cher2_ CHER2
231
232#define zswap_ ZSWAP
233#define zaxpy_ ZAXPY
234#define dzasum_ DZASUM
235#define izamax_ IZAMAX
236#define zcopy_ ZCOPY
237#define zscal_ ZSCAL
238#define dznrm2_ DZNRM2
239#define zgemv_ ZGEMV
240#define ztrsv_ ZTRSV
241#define zgemm_ ZGEMM
242#define ztrsm_ ZTRSM
243#define zgerc_ ZGERC
244#define zhemv_ ZHEMV
245#define zher2_ ZHER2
246
247/* LAPACK */
248#define dlacon_ DLACON
249#define slacon_ SLACON
250#define icmax1_ ICMAX1
251#define scsum1_ SCSUM1
252#define clacon_ CLACON
253#define dzsum1_ DZSUM1
254#define izmax1_ IZMAX1
255#define zlacon_ ZLACON
256
257/* Fortran interface */
258#define c_bridge_dgssv_ C_BRIDGE_DGSSV
259#define c_fortran_sgssv_ C_FORTRAN_SGSSV
260#define c_fortran_dgssv_ C_FORTRAN_DGSSV
261#define c_fortran_cgssv_ C_FORTRAN_CGSSV
262#define c_fortran_zgssv_ C_FORTRAN_ZGSSV
263#endif
264
265
266#if (F77_CALL_C == OLD_CRAY)
267/*
268 * These defines set up the naming scheme required to have a fortran 77
269 * routine call a C routine
270 * following Fortran to C interface:
271 * FORTRAN CALL C DECLARATION
272 * call dgemm(...) void SGEMM(...)
273 */
274/* BLAS */
275#define sswap_ SSWAP
276#define saxpy_ SAXPY
277#define sasum_ SASUM
278#define isamax_ ISAMAX
279#define scopy_ SCOPY
280#define sscal_ SSCAL
281#define sger_ SGER
282#define snrm2_ SNRM2
283#define ssymv_ SSYMV
284#define sdot_ SDOT
285#define ssyr2_ SSYR2
286#define srot_ SROT
287#define sgemv_ SGEMV
288#define strsv_ STRSV
289#define sgemm_ SGEMM
290#define strsm_ STRSM
291
292#define dswap_ SSWAP
293#define daxpy_ SAXPY
294#define dasum_ SASUM
295#define idamax_ ISAMAX
296#define dcopy_ SCOPY
297#define dscal_ SSCAL
298#define dger_ SGER
299#define dnrm2_ SNRM2
300#define dsymv_ SSYMV
301#define ddot_ SDOT
302#define dsyr2_ SSYR2
303#define drot_ SROT
304#define dgemv_ SGEMV
305#define dtrsv_ STRSV
306#define dgemm_ SGEMM
307#define dtrsm_ STRSM
308
309#define cswap_ CSWAP
310#define caxpy_ CAXPY
311#define scasum_ SCASUM
312#define icamax_ ICAMAX
313#define ccopy_ CCOPY
314#define cscal_ CSCAL
315#define scnrm2_ SCNRM2
316#define caxpy_ CAXPY
317#define cgemv_ CGEMV
318#define ctrsv_ CTRSV
319#define cgemm_ CGEMM
320#define ctrsm_ CTRSM
321#define cgerc_ CGERC
322#define chemv_ CHEMV
323#define cher2_ CHER2
324
325#define zswap_ ZSWAP
326#define zaxpy_ ZAXPY
327#define dzasum_ DZASUM
328#define izamax_ IZAMAX
329#define zcopy_ ZCOPY
330#define zscal_ ZSCAL
331#define dznrm2_ DZNRM2
332#define zgemv_ ZGEMV
333#define ztrsv_ ZTRSV
334#define zgemm_ ZGEMM
335#define ztrsm_ ZTRSM
336#define zgerc_ ZGERC
337#define zhemv_ ZHEMV
338#define zher2_ ZHER2
339
340/* LAPACK */
341#define dlacon_ DLACON
342#define slacon_ SLACON
343#define icmax1_ ICMAX1
344#define scsum1_ SCSUM1
345#define clacon_ CLACON
346#define dzsum1_ DZSUM1
347#define izmax1_ IZMAX1
348#define zlacon_ ZLACON
349
350/* Fortran interface */
351#define c_bridge_dgssv_ C_BRIDGE_DGSSV
352#define c_fortran_sgssv_ C_FORTRAN_SGSSV
353#define c_fortran_dgssv_ C_FORTRAN_DGSSV
354#define c_fortran_cgssv_ C_FORTRAN_CGSSV
355#define c_fortran_zgssv_ C_FORTRAN_ZGSSV
356#endif
357
358
359#if (F77_CALL_C == NOCHANGE)
360/*
361 * These defines set up the naming scheme required to have a fortran 77
362 * routine call a C routine
363 * for following Fortran to C interface:
364 * FORTRAN CALL C DECLARATION
365 * call dgemm(...) void dgemm(...)
366 */
367/* BLAS */
368#define sswap_ sswap
369#define saxpy_ saxpy
370#define sasum_ sasum
371#define isamax_ isamax
372#define scopy_ scopy
373#define sscal_ sscal
374#define sger_ sger
375#define snrm2_ snrm2
376#define ssymv_ ssymv
377#define sdot_ sdot
378#define saxpy_ saxpy
379#define ssyr2_ ssyr2
380#define srot_ srot
381#define sgemv_ sgemv
382#define strsv_ strsv
383#define sgemm_ sgemm
384#define strsm_ strsm
385
386#define dswap_ dswap
387#define daxpy_ daxpy
388#define dasum_ dasum
389#define idamax_ idamax
390#define dcopy_ dcopy
391#define dscal_ dscal
392#define dger_ dger
393#define dnrm2_ dnrm2
394#define dsymv_ dsymv
395#define ddot_ ddot
396#define dsyr2_ dsyr2
397#define drot_ drot
398#define dgemv_ dgemv
399#define dtrsv_ dtrsv
400#define dgemm_ dgemm
401#define dtrsm_ dtrsm
402
403#define cswap_ cswap
404#define caxpy_ caxpy
405#define scasum_ scasum
406#define icamax_ icamax
407#define ccopy_ ccopy
408#define cscal_ cscal
409#define scnrm2_ scnrm2
410#define cgemv_ cgemv
411#define ctrsv_ ctrsv
412#define cgemm_ cgemm
413#define ctrsm_ ctrsm
414#define cgerc_ cgerc
415#define chemv_ chemv
416#define cher2_ cher2
417
418#define zswap_ zswap
419#define zaxpy_ zaxpy
420#define dzasum_ dzasum
421#define izamax_ izamax
422#define zcopy_ zcopy
423#define zscal_ zscal
424#define dznrm2_ dznrm2
425#define zgemv_ zgemv
426#define ztrsv_ ztrsv
427#define zgemm_ zgemm
428#define ztrsm_ ztrsm
429#define zgerc_ zgerc
430#define zhemv_ zhemv
431#define zher2_ zher2
432
433/* LAPACK */
434#define dlacon_ dlacon
435#define slacon_ slacon
436#define icmax1_ icmax1
437#define scsum1_ scsum1
438#define clacon_ clacon
439#define dzsum1_ dzsum1
440#define izmax1_ izmax1
441#define zlacon_ zlacon
442
443/* Fortran interface */
444#define c_bridge_dgssv_ c_bridge_dgssv
445#define c_fortran_sgssv_ c_fortran_sgssv
446#define c_fortran_dgssv_ c_fortran_dgssv
447#define c_fortran_cgssv_ c_fortran_cgssv
448#define c_fortran_zgssv_ c_fortran_zgssv
449#endif
450
451
452#endif /* __SUPERLU_CNAMES */