TBCI Numerical high perf. C++ Library 2.8.0
Cnames.h
Go to the documentation of this file.
1
9
10/* $Id: Cnames.h,v 1.2.2.1 2010/08/26 07:58:23 garloff Exp $ */
11
12#ifndef __SUPERLU_CNAMES /* allow multiple inclusions */
13#define __SUPERLU_CNAMES
14
15
16//#define USE_VENDOR_BLAS
17#define Add_
18
19/*
20 * These macros define how C routines will be called. ADD_ assumes that
21 * they will be called by fortran, which expects C routines to have an
22 * underscore postfixed to the name (Suns, and the Intel expect this).
23 * NOCHANGE indicates that fortran will be calling, and that it expects
24 * the name called by fortran to be identical to that compiled by the C
25 * (RS6K's do this). UPCASE says it expects C routines called by fortran
26 * to be in all upcase (CRAY wants this).
27 */
28
29
30#define ADD_ 0
31#define NOCHANGE 1
32#define UPCASE 2
33#define C_CALL 3
34
35#ifdef UpCase
36#define F77_CALL_C UPCASE
37#endif
38
39#ifdef NoChange
40#define F77_CALL_C NOCHANGE
41#endif
42
43#ifdef Add_
44#define F77_CALL_C ADD_
45#endif
46
47#ifndef F77_CALL_C
48#define F77_CALL_C ADD_
49#endif
50
51#if (F77_CALL_C == ADD_)
52/*
53 * These defines set up the naming scheme required to have a fortran 77
54 * routine call a C routine
55 * No redefinition necessary to have following Fortran to C interface:
56 * FORTRAN CALL C DECLARATION
57 * call dgemm(...) void dgemm_(...)
58 *
59 * This is the default.
60 */
61
62#endif
63
64#if (F77_CALL_C == UPCASE)
65/*
66 * These defines set up the naming scheme required to have a fortran 77
67 * routine call a C routine
68 * following Fortran to C interface:
69 * FORTRAN CALL C DECLARATION
70 * call dgemm(...) void DGEMM(...)
71 */
72#define sasum_ SASUM
73#define isamax_ ISAMAX
74#define scopy_ SCOPY
75#define sscal_ SSCAL
76#define sger_ SGER
77#define snrm2_ SNRM2
78#define ssymv_ SSYMV
79#define sdot_ SDOT
80#define saxpy_ SAXPY
81#define ssyr2_ SSYR2
82#define srot_ SROT
83#define sgemv_ SGEMV
84#define strsv_ STRSV
85#define sgemm_ SGEMM
86#define strsm_ STRSM
87
88#define dasum_ SASUM
89#define idamax_ ISAMAX
90#define dcopy_ SCOPY
91#define dscal_ SSCAL
92#define dger_ SGER
93#define dnrm2_ SNRM2
94#define dsymv_ SSYMV
95#define ddot_ SDOT
96#define daxpy_ SAXPY
97#define dsyr2_ SSYR2
98#define drot_ SROT
99#define dgemv_ SGEMV
100#define dtrsv_ STRSV
101#define dgemm_ SGEMM
102#define dtrsm_ STRSM
103
104#define scasum_ SCASUM
105#define icamax_ ICAMAX
106#define ccopy_ CCOPY
107#define cscal_ CSCAL
108#define scnrm2_ SCNRM2
109#define caxpy_ CAXPY
110#define cgemv_ CGEMV
111#define ctrsv_ CTRSV
112#define cgemm_ CGEMM
113#define ctrsm_ CTRSM
114#define cgerc_ CGERC
115#define chemv_ CHEMV
116#define cher2_ CHER2
117
118#define dzasum_ SCASUM
119#define izamax_ ICAMAX
120#define zcopy_ CCOPY
121#define zscal_ CSCAL
122#define dznrm2_ SCNRM2
123#define zaxpy_ CAXPY
124#define zgemv_ CGEMV
125#define ztrsv_ CTRSV
126#define zgemm_ CGEMM
127#define ztrsm_ CTRSM
128#define zgerc_ CGERC
129#define zhemv_ CHEMV
130#define zher2_ CHER2
131
132#define c_bridge_dgssv_ C_BRIDGE_DGSSV
133#endif
134
135#if (F77_CALL_C == NOCHANGE)
136/*
137 * These defines set up the naming scheme required to have a fortran 77
138 * routine call a C routine
139 * for following Fortran to C interface:
140 * FORTRAN CALL C DECLARATION
141 * call dgemm(...) void dgemm(...)
142 */
143#define sasum_ sasum
144#define isamax_ isamax
145#define scopy_ scopy
146#define sscal_ sscal
147#define sger_ sger
148#define snrm2_ snrm2
149#define ssymv_ ssymv
150#define sdot_ sdot
151#define saxpy_ saxpy
152#define ssyr2_ ssyr2
153#define srot_ srot
154#define sgemv_ sgemv
155#define strsv_ strsv
156#define sgemm_ sgemm
157#define strsm_ strsm
158
159#define dasum_ dasum
160#define idamax_ idamax
161#define dcopy_ dcopy
162#define dscal_ dscal
163#define dger_ dger
164#define dnrm2_ dnrm2
165#define dsymv_ dsymv
166#define ddot_ ddot
167#define daxpy_ daxpy
168#define dsyr2_ dsyr2
169#define drot_ drot
170#define dgemv_ dgemv
171#define dtrsv_ dtrsv
172#define dgemm_ dgemm
173#define dtrsm_ dtrsm
174
175#define scasum_ scasum
176#define icamax_ icamax
177#define ccopy_ ccopy
178#define cscal_ cscal
179#define scnrm2_ scnrm2
180#define caxpy_ caxpy
181#define cgemv_ cgemv
182#define ctrsv_ ctrsv
183#define cgemm_ cgemm
184#define ctrsm_ ctrsm
185#define cgerc_ cgerc
186#define chemv_ chemv
187#define cher2_ cher2
188
189#define dzasum_ dzasum
190#define izamax_ izamax
191#define zcopy_ zcopy
192#define zscal_ zscal
193#define dznrm2_ dznrm2
194#define zaxpy_ zaxpy
195#define zgemv_ zgemv
196#define ztrsv_ ztrsv
197#define zgemm_ zgemm
198#define ztrsm_ ztrsm
199#define zgerc_ zgerc
200#define zhemv_ zhemv
201#define zher2_ zher2
202
203#define c_bridge_dgssv_ c_bridge_dgssv
204#endif
205
206#endif /* __SUPERLU_CNAMES */