Blender V2.61 - r43446
|
00001 00004 /* 00005 * -- SuperLU routine (version 2.0) -- 00006 * Univ. of California Berkeley, Xerox Palo Alto Research Center, 00007 * and Lawrence Berkeley National Lab. 00008 * November 1, 1997 00009 * 00010 */ 00011 #ifndef __SUPERLU_CNAMES /* allow multiple inclusions */ 00012 #define __SUPERLU_CNAMES 00013 00014 /* We want this flag, safer than putting in build system */ 00015 #define Add_ 00016 00017 /* 00018 * These macros define how C routines will be called. ADD_ assumes that 00019 * they will be called by fortran, which expects C routines to have an 00020 * underscore postfixed to the name (Suns, and the Intel expect this). 00021 * NOCHANGE indicates that fortran will be calling, and that it expects 00022 * the name called by fortran to be identical to that compiled by the C 00023 * (RS6K's do this). UPCASE says it expects C routines called by fortran 00024 * to be in all upcase (CRAY wants this). 00025 */ 00026 00027 #define ADD_ 0 00028 #define ADD__ 1 00029 #define NOCHANGE 2 00030 #define UPCASE 3 00031 #define C_CALL 4 00032 00033 #ifdef UpCase 00034 #define F77_CALL_C UPCASE 00035 #endif 00036 00037 #ifdef NoChange 00038 #define F77_CALL_C NOCHANGE 00039 #endif 00040 00041 #ifdef Add_ 00042 #define F77_CALL_C ADD_ 00043 #endif 00044 00045 #ifdef Add__ 00046 #define F77_CALL_C ADD__ 00047 #endif 00048 00049 /* Default */ 00050 #ifndef F77_CALL_C 00051 #define F77_CALL_C ADD_ 00052 #endif 00053 00054 00055 #if (F77_CALL_C == ADD_) 00056 /* 00057 * These defines set up the naming scheme required to have a fortran 77 00058 * routine call a C routine 00059 * No redefinition necessary to have following Fortran to C interface: 00060 * FORTRAN CALL C DECLARATION 00061 * call dgemm(...) void dgemm_(...) 00062 * 00063 * This is the default. 00064 */ 00065 00066 #endif 00067 00068 #if (F77_CALL_C == ADD__) 00069 /* 00070 * These defines set up the naming scheme required to have a fortran 77 00071 * routine call a C routine 00072 * for following Fortran to C interface: 00073 * FORTRAN CALL C DECLARATION 00074 * call dgemm(...) void dgemm__(...) 00075 */ 00076 #define sasum_ sasum__ 00077 #define isamax_ isamax__ 00078 #define scopy_ scopy__ 00079 #define sscal_ sscal__ 00080 #define sger_ sger__ 00081 #define snrm2_ snrm2__ 00082 #define ssymv_ ssymv__ 00083 #define sdot_ sdot__ 00084 #define saxpy_ saxpy__ 00085 #define ssyr2_ ssyr2__ 00086 #define srot_ srot__ 00087 #define sgemv_ sgemv__ 00088 #define strsv_ strsv__ 00089 #define sgemm_ sgemm__ 00090 #define strsm_ strsm__ 00091 00092 #define dasum_ dasum__ 00093 #define idamax_ idamax__ 00094 #define dcopy_ dcopy__ 00095 #define dscal_ dscal__ 00096 #define dger_ dger__ 00097 #define dnrm2_ dnrm2__ 00098 #define dsymv_ dsymv__ 00099 #define ddot_ ddot__ 00100 #define daxpy_ daxpy__ 00101 #define dsyr2_ dsyr2__ 00102 #define drot_ drot__ 00103 #define dgemv_ dgemv__ 00104 #define dtrsv_ dtrsv__ 00105 #define dgemm_ dgemm__ 00106 #define dtrsm_ dtrsm__ 00107 00108 #define scasum_ scasum__ 00109 #define icamax_ icamax__ 00110 #define ccopy_ ccopy__ 00111 #define cscal_ cscal__ 00112 #define scnrm2_ scnrm2__ 00113 #define caxpy_ caxpy__ 00114 #define cgemv_ cgemv__ 00115 #define ctrsv_ ctrsv__ 00116 #define cgemm_ cgemm__ 00117 #define ctrsm_ ctrsm__ 00118 #define cgerc_ cgerc__ 00119 #define chemv_ chemv__ 00120 #define cher2_ cher2__ 00121 00122 #define dzasum_ dzasum__ 00123 #define izamax_ izamax__ 00124 #define zcopy_ zcopy__ 00125 #define zscal_ zscal__ 00126 #define dznrm2_ dznrm2__ 00127 #define zaxpy_ zaxpy__ 00128 #define zgemv_ zgemv__ 00129 #define ztrsv_ ztrsv__ 00130 #define zgemm_ zgemm__ 00131 #define ztrsm_ ztrsm__ 00132 #define zgerc_ zgerc__ 00133 #define zhemv_ zhemv__ 00134 #define zher2_ zher2__ 00135 00136 #define c_bridge_dgssv_ c_bridge_dgssv__ 00137 #define c_fortran_dgssv_ c_fortran_dgssv__ 00138 #endif 00139 00140 #if (F77_CALL_C == UPCASE) 00141 /* 00142 * These defines set up the naming scheme required to have a fortran 77 00143 * routine call a C routine 00144 * following Fortran to C interface: 00145 * FORTRAN CALL C DECLARATION 00146 * call dgemm(...) void DGEMM(...) 00147 */ 00148 #define sasum_ SASUM 00149 #define isamax_ ISAMAX 00150 #define scopy_ SCOPY 00151 #define sscal_ SSCAL 00152 #define sger_ SGER 00153 #define snrm2_ SNRM2 00154 #define ssymv_ SSYMV 00155 #define sdot_ SDOT 00156 #define saxpy_ SAXPY 00157 #define ssyr2_ SSYR2 00158 #define srot_ SROT 00159 #define sgemv_ SGEMV 00160 #define strsv_ STRSV 00161 #define sgemm_ SGEMM 00162 #define strsm_ STRSM 00163 00164 #define dasum_ SASUM 00165 #define idamax_ ISAMAX 00166 #define dcopy_ SCOPY 00167 #define dscal_ SSCAL 00168 #define dger_ SGER 00169 #define dnrm2_ SNRM2 00170 #define dsymv_ SSYMV 00171 #define ddot_ SDOT 00172 #define daxpy_ SAXPY 00173 #define dsyr2_ SSYR2 00174 #define drot_ SROT 00175 #define dgemv_ SGEMV 00176 #define dtrsv_ STRSV 00177 #define dgemm_ SGEMM 00178 #define dtrsm_ STRSM 00179 00180 #define scasum_ SCASUM 00181 #define icamax_ ICAMAX 00182 #define ccopy_ CCOPY 00183 #define cscal_ CSCAL 00184 #define scnrm2_ SCNRM2 00185 #define caxpy_ CAXPY 00186 #define cgemv_ CGEMV 00187 #define ctrsv_ CTRSV 00188 #define cgemm_ CGEMM 00189 #define ctrsm_ CTRSM 00190 #define cgerc_ CGERC 00191 #define chemv_ CHEMV 00192 #define cher2_ CHER2 00193 00194 #define dzasum_ SCASUM 00195 #define izamax_ ICAMAX 00196 #define zcopy_ CCOPY 00197 #define zscal_ CSCAL 00198 #define dznrm2_ SCNRM2 00199 #define zaxpy_ CAXPY 00200 #define zgemv_ CGEMV 00201 #define ztrsv_ CTRSV 00202 #define zgemm_ CGEMM 00203 #define ztrsm_ CTRSM 00204 #define zgerc_ CGERC 00205 #define zhemv_ CHEMV 00206 #define zher2_ CHER2 00207 00208 #define c_bridge_dgssv_ C_BRIDGE_DGSSV 00209 #define c_fortran_dgssv_ C_FORTRAN_DGSSV 00210 #endif 00211 00212 #if (F77_CALL_C == NOCHANGE) 00213 /* 00214 * These defines set up the naming scheme required to have a fortran 77 00215 * routine call a C routine 00216 * for following Fortran to C interface: 00217 * FORTRAN CALL C DECLARATION 00218 * call dgemm(...) void dgemm(...) 00219 */ 00220 #define sasum_ sasum 00221 #define isamax_ isamax 00222 #define scopy_ scopy 00223 #define sscal_ sscal 00224 #define sger_ sger 00225 #define snrm2_ snrm2 00226 #define ssymv_ ssymv 00227 #define sdot_ sdot 00228 #define saxpy_ saxpy 00229 #define ssyr2_ ssyr2 00230 #define srot_ srot 00231 #define sgemv_ sgemv 00232 #define strsv_ strsv 00233 #define sgemm_ sgemm 00234 #define strsm_ strsm 00235 00236 #define dasum_ dasum 00237 #define idamax_ idamax 00238 #define dcopy_ dcopy 00239 #define dscal_ dscal 00240 #define dger_ dger 00241 #define dnrm2_ dnrm2 00242 #define dsymv_ dsymv 00243 #define ddot_ ddot 00244 #define daxpy_ daxpy 00245 #define dsyr2_ dsyr2 00246 #define drot_ drot 00247 #define dgemv_ dgemv 00248 #define dtrsv_ dtrsv 00249 #define dgemm_ dgemm 00250 #define dtrsm_ dtrsm 00251 00252 #define scasum_ scasum 00253 #define icamax_ icamax 00254 #define ccopy_ ccopy 00255 #define cscal_ cscal 00256 #define scnrm2_ scnrm2 00257 #define caxpy_ caxpy 00258 #define cgemv_ cgemv 00259 #define ctrsv_ ctrsv 00260 #define cgemm_ cgemm 00261 #define ctrsm_ ctrsm 00262 #define cgerc_ cgerc 00263 #define chemv_ chemv 00264 #define cher2_ cher2 00265 00266 #define dzasum_ dzasum 00267 #define izamax_ izamax 00268 #define zcopy_ zcopy 00269 #define zscal_ zscal 00270 #define dznrm2_ dznrm2 00271 #define zaxpy_ zaxpy 00272 #define zgemv_ zgemv 00273 #define ztrsv_ ztrsv 00274 #define zgemm_ zgemm 00275 #define ztrsm_ ztrsm 00276 #define zgerc_ zgerc 00277 #define zhemv_ zhemv 00278 #define zher2_ zher2 00279 00280 #define c_bridge_dgssv_ c_bridge_dgssv 00281 #define c_fortran_dgssv_ c_fortran_dgssv 00282 #endif 00283 00284 #endif /* __SUPERLU_CNAMES */