.TH BSsparse.h h "10/17/1996" " " "BlockSolve95" .SH NAME BSsparse.h \- Include fle for the sparse solver package. This is the include file for public use. .SH SYNOPSIS .nf /* ****************************************************************** */ /* NOTICE: BlockSolve95 is copyrighted. See the file ../COPYRIGHT */ /* for details. */ /* */ /* Authors: Mark Jones and Paul Plassmann */ /* */ /* Version: 3.0 */ /* */ /* Last Modified: 1/96 */ /* */ /* ****************************************************************** */ #ifndef __BSsparseh #define __BSsparseh /* The following is a global definition of the variable for error handling. */ /* It is statically defined in BScontext.c and initialized to 0 there */ extern int __BSERROR_STATUS; /* include the "system" dependent routines */ #include "BSdepend.h" /* include the special message passing stuff that I wrote */ #include "BMmsg.h" /* the usual system stuff */ #include #include #include /* ****************************************************************** */ /* Definitions of double/single precision stuff */ /* ****************************************************************** */ #if defined(PARCH_cray) || defined(PARCH_t3d) #define dgemm_ SGEMM #define dtrmm_ STRMM #define dcopy_ SCOPY #define daxpy_ SAXPY #define dgemv_ SGEMV #define dtrmv_ STRMV #define dpotrf_ SPOTRF #define dtrtri_ STRTRI #define dlamch_ SLAMCH #define dgetrf_ SGETRF #define dgetri_ SGETRI #define sdot_ SDOT #define sgemm_ SGEMM #define strmm_ STRMM #define scopy_ SCOPY #define saxpy_ SAXPY #define sgemv_ SGEMV #define strmv_ STRMV #define spotrf_ SPOTRF #define strtri_ STRTRI #define slamch_ SLAMCH #define sgetrf_ SGETRF #define sgetri_ SGETRI #elif defined(FORTRANCAPS) #define dgemm_ DGEMM #define dtrmm_ DTRMM #define dcopy_ DCOPY #define daxpy_ DAXPY #define dgemv_ DGEMV #define dtrmv_ DTRMV #define dpotrf_ DPOTRF #define dtrtri_ DTRTRI #define dlamch_ DLAMCH #define dgetrf_ DGETRF #define dgetri_ DGETRI #define sdot_ SDOT #define sgemm_ SGEMM #define strmm_ STRMM #define scopy_ SCOPY #define saxpy_ SAXPY #define sgemv_ SGEMV #define strmv_ STRMV #define spotrf_ SPOTRF #define strtri_ STRTRI #define slamch_ SLAMCH #define sgetrf_ SGETRF #define sgetri_ SGETRI #elif !defined(FORTRANUNDERSCORE) #define dgemm_ dgemm #define dtrmm_ dtrmm #define dcopy_ dcopy #define daxpy_ daxpy #define dgemv_ dgemv #define dtrmv_ dtrmv #define dpotrf_ dpotrf #define dtrtri_ dtrtri #define dlamch_ dlamch #define dgetrf_ dgetrf #define dgetri_ dgetri #define sdot_ sdot #define sgemm_ sgemm #define strmm_ strmm #define scopy_ scopy #define saxpy_ saxpy #define sgemv_ sgemv #define strmv_ strmv #define spotrf_ spotrf #define strtri_ strtri #define slamch_ slamch #define slamch_ slamch #define sgetrf_ sgetrf #define sgetri_ sgetri #endif /* turn on compilation of the double precision version if */ /* BSDOUBLE is defined, otherwise single precision */ #if defined(PARCH_cray) || defined(PARCH_t3d) #else #define BSDOUBLE #endif #if defined(PARCH_t3d) #include #define MY_MPI_FLT MPI_DOUBLE #define FLOAT double #define DLAMCH(a) SLAMCH(_cptofcd((a),1)) #define DGEMM(a,b,c,d,e,f,g,h,i,j,k,l,m) SGEMM(_cptofcd((a),1),_cptofcd((b),1),\\ (c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m)) #define DTRMM(a,b,c,d,e,f,g,h,i,j,k) STRMM(_cptofcd((a),1),_cptofcd((b),1),\\ _cptofcd((c),1),_cptofcd((d),1),(e),(f),(g),(h),(i),(j),(k)) #define DCOPY SCOPY #define DAXPY SAXPY #define DGEMV(a,b,c,d,e,f,g,h,i,j,k) SGEMV(_cptofcd((a),1),(b),(c),(d),(e),\\ (f),(g),(h),(i),(j),(k)) #define DTRMV(a,b,c,d,e,f,g,h) STRMV(_cptofcd((a),1),\\ _cptofcd((b),1),_cptofcd((c),1),(d),(e),(f),(g),(h)) #define DPOTRF(a,b,c,d,e) SPOTRF(_cptofcd((a),1),(b),(c),(d),(e)) #define DTRTRI(a,b,c,d,e,f) STRTRI(_cptofcd((a),1),_cptofcd((b),1),\\ (c),(d),(e),(f)) #define GFLSUM GDSUM #define DGETRF SGETRF #define DGETRI SGETRI #elif defined(BSDOUBLE) #define MY_MPI_FLT MPI_DOUBLE #define FLOAT double #define DGEMM dgemm_ #define DTRMM dtrmm_ #define DCOPY dcopy_ #define DAXPY daxpy_ #define DGEMV dgemv_ #define DTRMV dtrmv_ #define DPOTRF dpotrf_ #define DTRTRI dtrtri_ #define DLAMCH dlamch_ #define GFLSUM GDSUM #define DGETRF dgetrf_ #define DGETRI dgetri_ #else #define MY_MPI_FLT MPI_FLOAT #define FLOAT float #define DGEMM sgemm_ #define DTRMM strmm_ #define DCOPY scopy_ #define DAXPY saxpy_ #define DGEMV sgemv_ #define DTRMV strmv_ #define DPOTRF spotrf_ #define DTRTRI strtri_ #define DLAMCH slamch_ #define GFLSUM GFSUM #define DGETRF sgetrf_ #define DGETRI sgetri_ #endif #if defined(__cplusplus) extern "C" .fi .SH LOCATION BlockSolve95/include/BSsparse.h