SRC/Cnames.h

Go to the documentation of this file.
00001 
00011 #ifndef __SUPERLU_CNAMES /* allow multiple inclusions */
00012 #define __SUPERLU_CNAMES
00013 
00014 /*
00015  * These macros define how C routines will be called.  ADD_ assumes that
00016  * they will be called by fortran, which expects C routines to have an
00017  * underscore postfixed to the name (Suns, and the Intel expect this).
00018  * NOCHANGE indicates that fortran will be calling, and that it expects
00019  * the name called by fortran to be identical to that compiled by the C
00020  * (RS6K's do this).  UPCASE says it expects C routines called by fortran
00021  * to be in all upcase (CRAY wants this). 
00022  */
00023 
00024 #define ADD_       0
00025 #define NOCHANGE   1
00026 #define UPCASE     2
00027 #define C_CALL     3
00028 
00029 #ifdef UpCase
00030 #define F77_CALL_C UPCASE
00031 #endif
00032 
00033 #ifdef NoChange
00034 #define F77_CALL_C NOCHANGE
00035 #endif
00036 
00037 #ifdef Add_
00038 #define F77_CALL_C ADD_
00039 #endif
00040 
00041 #ifndef F77_CALL_C
00042 #define F77_CALL_C ADD_
00043 #endif
00044 
00045 #if (F77_CALL_C == ADD_)
00046 /*
00047  * These defines set up the naming scheme required to have a fortran 77
00048  * routine call a C routine
00049  * No redefinition necessary to have following Fortran to C interface:
00050  *           FORTRAN CALL               C DECLARATION
00051  *           call dgemm(...)           void dgemm_(...)
00052  *
00053  * This is the default.
00054  */
00055 /* These are the functions defined in F90 wraper */
00056 #define f_create_gridinfo_handle         f_create_gridinfo_handle_
00057 #define f_create_options_handle          f_create_options_handle_
00058 #define f_create_ScalePerm_handle        f_create_scaleperm_handle_
00059 #define f_create_LUstruct_handle         f_create_lustruct_handle_
00060 #define f_create_SOLVEstruct_handle      f_create_solvestruct_handle_
00061 #define f_create_SuperMatrix_handle      f_create_supermatrix_handle_
00062 #define f_destroy_gridinfo_handle        f_destroy_gridinfo_handle_
00063 #define f_destroy_options_handle         f_destroy_options_handle_
00064 #define f_destroy_ScalePerm_handle       f_destroy_scaleperm_handle_
00065 #define f_destroy_LUstruct_handle        f_destroy_lustruct_handle_
00066 #define f_destroy_SOLVEstruct_handle     f_destroy_solvestruct_handle_
00067 #define f_destroy_SuperMatrix_handle     f_destroy_supermatrix_handle_
00068 #define f_create_SuperLUStat_handle      f_create_superlustat_handle_
00069 #define f_destroy_SuperLUStat_handle     f_destroy_superlustat_handle_
00070 #define f_get_gridinfo                   f_get_gridinfo_
00071 #define f_get_SuperMatrix                f_get_supermatrix_
00072 #define f_set_SuperMatrix                f_set_supermatrix_
00073 #define f_get_CompRowLoc_Matrix          f_get_comprowloc_matrix_ 
00074 #define f_set_CompRowLoc_Matrix          f_set_comprowloc_matrix_
00075 #define f_get_superlu_options            f_get_superlu_options_
00076 #define f_set_superlu_options            f_set_superlu_options_
00077 #define f_set_default_options            f_set_default_options_
00078 #define f_superlu_gridinit               f_superlu_gridinit_
00079 #define f_superlu_gridexit               f_superlu_gridexit_
00080 #define f_ScalePermstructInit            f_scalepermstructinit_
00081 #define f_ScalePermstructFree            f_scalepermstructfree_
00082 #define f_PStatInit                      f_pstatinit_
00083 #define f_PStatFree                      f_pstatfree_
00084 #define f_LUstructInit                   f_lustructinit_
00085 #define f_LUstructFree                   f_lustructfree_
00086 #define f_Destroy_LU                     f_destroy_lu_
00087 #define f_dCreate_CompRowLoc_Mat_dist    f_dcreate_comprowloc_mat_dist_
00088 #define f_Destroy_CompRowLoc_Mat_dist    f_destroy_comprowloc_mat_dist_
00089 #define f_Destroy_SuperMat_Store_dist    f_destroy_supermat_store_dist_
00090 #define f_dSolveFinalize                 f_dsolvefinalize_
00091 #define f_pdgssvx                        f_pdgssvx_
00092 #define f_dcreate_dist_matrix            f_dcreate_dist_matrix_
00093 #define f_check_malloc                   f_check_malloc_
00094 #endif
00095 
00096 #if (F77_CALL_C == UPCASE)
00097 /*
00098  * These defines set up the naming scheme required to have a fortran 77
00099  * routine call a C routine 
00100  * following Fortran to C interface:
00101  *           FORTRAN CALL               C DECLARATION
00102  *           call dgemm(...)           void DGEMM(...)
00103  */
00104 /* BLAS */
00105 #define sasum_    SASUM
00106 #define isamax_   ISAMAX
00107 #define scopy_    SCOPY
00108 #define sscal_    SSCAL
00109 #define sger_     SGER
00110 #define snrm2_    SNRM2
00111 #define ssymv_    SSYMV
00112 #define sdot_     SDOT
00113 #define saxpy_    SAXPY
00114 #define ssyr2_    SSYR2
00115 #define srot_     SROT
00116 #define sgemv_    SGEMV
00117 #define strsv_    STRSV
00118 #define sgemm_    SGEMM
00119 #define strsm_    STRSM
00120 
00121 #define dasum_    DASUM
00122 #define idamax_   IDAMAX
00123 #define dcopy_    DCOPY
00124 #define dscal_    DSCAL
00125 #define dger_     DGER
00126 #define dnrm2_    DNRM2
00127 #define dsymv_    DSYMV
00128 #define ddot_     DDOT
00129 #define daxpy_    DAXPY
00130 #define dsyr2_    DSYR2
00131 #define drot_     DROT
00132 #define dgemv_    DGEMV
00133 #define dtrsv_    DTRSV
00134 #define dgemm_    DGEMM
00135 #define dtrsm_    DTRSM
00136 
00137 #define scasum_   SCASUM
00138 #define icamax_   ICAMAX
00139 #define ccopy_    CCOPY
00140 #define cscal_    CSCAL
00141 #define scnrm2_   SCNRM2
00142 #define caxpy_    CAXPY
00143 #define cgemv_    CGEMV
00144 #define ctrsv_    CTRSV
00145 #define cgemm_    CGEMM
00146 #define ctrsm_    CTRSM
00147 #define cgerc_    CGERC
00148 #define chemv_    CHEMV
00149 #define cher2_    CHER2
00150 
00151 #define dzasum_   DZASUM
00152 #define izamax_   IZAMAX
00153 #define zcopy_    ZCOPY
00154 #define zscal_    ZSCAL
00155 #define dznrm2_   DZNRM2
00156 #define zaxpy_    ZAXPY
00157 #define zgemv_    ZGEMV
00158 #define ztrsv_    ZTRSV
00159 #define zgemm_    ZGEMM
00160 #define ztrsm_    ZTRSM
00161 #define zgerc_    ZGERC
00162 #define zhemv_    ZHEMV
00163 #define zher2_    ZHER2
00164 #define zgeru_    ZGERU
00165 
00166 /* LAPACK */
00167 #define dlamch_         DLAMCH
00168 #define slamch_         SLAMCH
00169 #define xerbla_         XERBLA
00170 #define lsame_          LSAME
00171 
00172 #define mc64id_         MC64ID
00173 #define mc64ad_         MC64AD
00174 #define c_bridge_dgssv_               C_BRIDGE_DGSSV
00175 #define c_fortran_slugrid_            C_FORTRAN_SLUGRID
00176 #define c_fortran_pdgssvx_            C_FORTRAN_PDGSSVX
00177 #define c_fortran_pdgssvx_ABglobal_   C_FORTRAN_PDGSSVX_ABGLOBAL
00178 #define c_fortran_pzgssvx_            C_FORTRAN_PZGSSVX
00179 #define c_fortran_pzgssvx_ABglobal_   C_FORTRAN_PZGSSVX_ABGLOBAL
00180 
00181 /* These are the functions defined in F90 wraper */
00182 #define f_create_gridinfo_handle         F_CREATE_GRIDINFO_HANDLE
00183 #define f_create_options_handle          F_CREATE_OPTIONS_HANDLE
00184 #define f_create_ScalePerm_handle        F_CREATE_SCALEPERM_HANDLE
00185 #define f_create_LUstruct_handle         F_CREATE_LUSTRUCT_HANDLE
00186 #define f_create_SOLVEstruct_handle      F_CREATE_SOLVESTRUCT_HANDLE
00187 #define f_create_SuperMatrix_handle      F_CREATE_SUPERMATRIX_HANDLE
00188 #define f_destroy_gridinfo_handle        F_DESTROY_GRIDINFO_HANDLE
00189 #define f_destroy_options_handle         F_DESTROY_OPTIONS_HANDLE
00190 #define f_destroy_ScalePerm_handle       F_DESTROY_SCALEPERM_HANDLE
00191 #define f_destroy_LUstruct_handle        F_DESTROY_LUSTRUCT_HANDLE
00192 #define f_destroy_SOLVEstruct_handle     F_DESTROY_SOLVESTRUCT_HANDLE
00193 #define f_destroy_SuperMatrix_handle     F_DESTROY_SUPERMATRIX_HANDLE
00194 #define f_create_SuperLUStat_handle      F_CREATE_SUPERLUSTAT_HANDLE
00195 #define f_destroy_SuperLUStat_handle     F_DESTROY_SUPERLUSTAT_HANDLE
00196 #define f_get_gridinfo                   F_GET_GRIDINFO
00197 #define f_get_SuperMatrix                F_GET_SUPERMATRIX
00198 #define f_set_SuperMatrix                F_SET_SUPERMATRIX
00199 #define f_get_CompRowLoc_Matrix          F_GET_COMPROWLOC_MATRIX
00200 #define f_set_CompRowLoc_Matrix          F_SET_COMPROWLOC_MATRIX
00201 #define f_get_superlu_options            F_GET_SUPERLU_OPTIONS
00202 #define f_set_superlu_options            F_SET_SUPERLU_OPTIONS
00203 #define f_set_default_options            F_SET_DEFAULT_OPTIONS
00204 #define f_superlu_gridinit               F_SUPERLU_GRIDINIT
00205 #define f_superlu_gridexit               F_SUPERLU_GRIDEXIT
00206 #define f_ScalePermstructInit            F_SCALEPERMSTRUCTINIT
00207 #define f_ScalePermstructFree            F_SCALEPERMSTRUCTFREE
00208 #define f_PStatInit                      F_PSTATINIT
00209 #define f_PStatFree                      F_PSTATFREE
00210 #define f_LUstructInit                   F_LUSTRUCTINIT
00211 #define f_LUstructFree                   F_LUSTRUCTFREE
00212 #define f_Destroy_LU                     F_DESTROY_LU
00213 #define f_dCreate_CompRowLoc_Mat_dist    F_DCREATE_COMPROWLOC_MAT_DIST
00214 #define f_Destroy_CompRowLoc_Mat_dist    F_DESTROY_COMPROWLOC_MAT_DIST
00215 #define f_Destroy_SuperMat_Store_dist    F_DESTROY_SUPERMAT_STORE_DIST
00216 #define f_dSolveFinalize                 F_DSOLVEFINALIZE
00217 #define f_pdgssvx                        F_PDGSSVX
00218 #define f_dcreate_dist_matrix            F_DCREATE_DIST_MATRIX
00219 #define f_check_malloc                   F_CHECK_MALLOC
00220 #endif
00221 
00222 #if (F77_CALL_C == NOCHANGE)
00223 /*
00224  * These defines set up the naming scheme required to have a fortran 77
00225  * routine call a C routine 
00226  * for following Fortran to C interface:
00227  *           FORTRAN CALL               C DECLARATION
00228  *           call dgemm(...)           void dgemm(...)
00229  */
00230 /* BLAS */
00231 #define sasum_    sasum
00232 #define isamax_   isamax
00233 #define scopy_    scopy
00234 #define sscal_    sscal
00235 #define sger_     sger
00236 #define snrm2_    snrm2
00237 #define ssymv_    ssymv
00238 #define sdot_     sdot
00239 #define saxpy_    saxpy
00240 #define ssyr2_    ssyr2
00241 #define srot_     srot
00242 #define sgemv_    sgemv
00243 #define strsv_    strsv
00244 #define sgemm_    sgemm
00245 #define strsm_    strsm
00246 
00247 #define dasum_    dasum
00248 #define idamax_   idamax
00249 #define dcopy_    dcopy
00250 #define dscal_    dscal
00251 #define dger_     dger
00252 #define dnrm2_    dnrm2
00253 #define dsymv_    dsymv
00254 #define ddot_     ddot
00255 #define daxpy_    daxpy
00256 #define dsyr2_    dsyr2
00257 #define drot_     drot
00258 #define dgemv_    dgemv
00259 #define dtrsv_    dtrsv
00260 #define dgemm_    dgemm
00261 #define dtrsm_    dtrsm
00262 
00263 #define scasum_   scasum
00264 #define icamax_   icamax
00265 #define ccopy_    ccopy
00266 #define cscal_    cscal
00267 #define scnrm2_   scnrm2
00268 #define caxpy_    caxpy
00269 #define cgemv_    cgemv
00270 #define ctrsv_    ctrsv
00271 #define cgemm_    cgemm
00272 #define ctrsm_    ctrsm
00273 #define cgerc_    cgerc
00274 #define chemv_    chemv
00275 #define cher2_    cher2
00276 
00277 #define dzasum_   dzasum
00278 #define izamax_   izamax
00279 #define zcopy_    zcopy
00280 #define zscal_    zscal
00281 #define dznrm2_   dznrm2
00282 #define zaxpy_    zaxpy
00283 #define zgemv_    zgemv
00284 #define ztrsv_    ztrsv
00285 #define zgemm_    zgemm
00286 #define ztrsm_    ztrsm
00287 #define zgerc_    zgerc
00288 #define zhemv_    zhemv
00289 #define zher2_    zher2
00290 #define zgeru_    zgeru
00291 
00292 /* LAPACK */
00293 #define dlamch_         dlamch
00294 #define slamch_         slamch
00295 #define xerbla_         xerbla
00296 #define lsame_          lsame
00297 
00298 #define mc64id_         mc64id
00299 #define mc64ad_         mc64ad
00300 
00301 #define c_bridge_dgssv_               c_bridge_dgssv
00302 #define c_fortran_slugrid_            c_fortran_slugrid
00303 #define c_fortran_pdgssvx_            c_fortran_pdgssvx
00304 #define c_fortran_pdgssvx_ABglobal_   c_fortran_pdgssvx_abglobal
00305 #define c_fortran_pzgssvx_            c_fortran_pzgssvx
00306 #define c_fortran_pzgssvx_ABglobal_   c_fortran_pzgssvx_abglobal
00307 
00308 /* These are the functions defined in F90 wraper */
00309 #define f_create_gridinfo_handle         f_create_gridinfo_handle
00310 #define f_create_options_handle          f_create_options_handle
00311 #define f_create_ScalePerm_handle        f_create_scaleperm_handle
00312 #define f_create_LUstruct_handle         f_create_lustruct_handle
00313 #define f_create_SOLVEstruct_handle      f_create_solvestruct_handle
00314 #define f_create_SuperMatrix_handle      f_create_supermatrix_handle
00315 #define f_destroy_gridinfo_handle        f_destroy_gridinfo_handle
00316 #define f_destroy_options_handle         f_destroy_options_handle
00317 #define f_destroy_ScalePerm_handle       f_destroy_scaleperm_handle
00318 #define f_destroy_LUstruct_handle        f_destroy_lustruct_handle
00319 #define f_destroy_SOLVEstruct_handle     f_destroy_solvestruct_handle
00320 #define f_destroy_SuperMatrix_handle     f_destroy_supermatrix_handle
00321 #define f_create_SuperLUStat_handle      f_create_superlustat_handle
00322 #define f_destroy_SuperLUStat_handle     f_destroy_superlustat_handle
00323 #define f_get_gridinfo                   f_get_gridinfo
00324 #define f_get_SuperMatrix                f_get_supermatrix
00325 #define f_set_SuperMatrix                f_set_supermatrix
00326 #define f_get_CompRowLoc_Matrix          f_get_comprowloc_matrix 
00327 #define f_set_CompRowLoc_Matrix          f_set_comprowloc_matrix
00328 #define f_get_superlu_options            f_get_superlu_options
00329 #define f_set_superlu_options            f_set_superlu_options
00330 #define f_set_default_options            f_set_default_options
00331 #define f_superlu_gridinit               f_superlu_gridinit
00332 #define f_superlu_gridexit               f_superlu_gridexit
00333 #define f_ScalePermstructInit            f_scalepermstructinit
00334 #define f_ScalePermstructFree            f_scalepermstructfree
00335 #define f_PStatInit                      f_pstatinit
00336 #define f_PStatFree                      f_pstatfree
00337 #define f_LUstructInit                   f_lustructinit
00338 #define f_LUstructFree                   f_lustructfree
00339 #define f_Destroy_LU                     f_destroy_lu
00340 #define f_dCreate_CompRowLoc_Mat_dist    f_dcreate_comprowloc_mat_dist
00341 #define f_Destroy_CompRowLoc_Mat_dist    f_destroy_comprowloc_mat_dist
00342 #define f_Destroy_SuperMat_Store_dist    f_destroy_supermat_store_dist
00343 #define f_dSolveFinalize                 f_dsolvefinalize
00344 #define f_pdgssvx                        f_pdgssvx
00345 #define f_dcreate_dist_matrix            f_dcreate_dist_matrix
00346 #define f_check_malloc                   f_check_malloc
00347 #endif
00348 
00349 #endif /* __SUPERLU_CNAMES */

Generated on Sat Aug 9 23:23:51 2008 for SuperLUDistributed by  doxygen 1.4.6