TBCI Numerical high perf. C++ Library  2.8.0
Cnames.h
Go to the documentation of this file.
1 
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 */