ifp_spblas.h

00001 /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
00002 /*             ********   ***                                 SparseLib++    */
00003 /*          *******  **  ***       ***      ***               v. 1.5         */
00004 /*           *****      ***     ******** ********                            */
00005 /*            *****    ***     ******** ********              R. Pozo        */
00006 /*       **  *******  ***   **   ***      ***                 K. Remington   */
00007 /*        ********   ********                                 A. Lumsdaine   */
00008 /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
00009 /*                                                                           */
00010 /*                                                                           */
00011 /*                     SparseLib++ : Sparse Matrix Library                   */
00012 /*                                                                           */
00013 /*               National Institute of Standards and Technology              */
00014 /*                        University of Notre Dame                           */
00015 /*              Authors: R. Pozo, K. Remington, A. Lumsdaine                 */
00016 /*                                                                           */
00017 /*                                 NOTICE                                    */
00018 /*                                                                           */
00019 /* Permission to use, copy, modify, and distribute this software and         */
00020 /* its documentation for any purpose and without fee is hereby granted       */
00021 /* provided that the above notice appear in all copies and supporting        */
00022 /* documentation.                                                            */
00023 /*                                                                           */
00024 /* Neither the Institutions (National Institute of Standards and Technology, */
00025 /* University of Notre Dame) nor the Authors make any representations about  */
00026 /* the suitability of this software for any purpose.  This software is       */
00027 /* provided ``as is'' without expressed or implied warranty.                 */
00028 /*                                                                           */
00029 /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
00030 
00031 
00032 #ifndef IFP_SPBLAS_H
00033 #define IFP_SPBLAS_H
00034 
00035 #include "ifp_arch.h"
00036 
00037 #ifdef COMPLEX_SUPPORT
00038 #include "complex.h"
00039 #endif
00040 
00041 extern "C" {
00042 
00043 void F77NAME(scoomm)
00044   (const int &transa, const int &m, const int &n, const int &k, 
00045    const float &alpha, 
00046    const int descra[], const float *val, 
00047    const int *indx, const int *jndx, const int &nnz, 
00048    const float *b, const int &ldb, 
00049    const float &beta, float *c, const int &ldc, 
00050    float *work, const int &lwork);
00051 
00052 void F77NAME(scscmm)
00053   (const int &transa, const int &m, const int &n, const int &k, 
00054    const float &alpha, 
00055    const int descra[], const float *val, 
00056    const int *indx, const int *pntr, const float *b, int &ldb, 
00057    const float &beta, float *c, const int &ldc, 
00058    float *work, const int &lwork);
00059    
00060 void F77NAME(scsrmm)
00061   (const int &transa, const int &m, const int &n, const int &k, 
00062    const float &alpha, 
00063    const int descra[], const float *val, 
00064    const int *indx, const int *pntr, const float *b, int &ldb, 
00065    const float &beta, float *c, const int &ldc, 
00066    float *work, const int &lwork);
00067    
00068 void F77NAME(dcoomm)
00069   (const int &transa, const int &m, const int &n, const int &k, 
00070    const double &alpha, 
00071    const int descra[], const double *val, 
00072    const int *indx, const int *jndx, const int &nnz, 
00073    const double *b, const int &ldb, 
00074    const double &beta, double *c, const int &ldc, 
00075    double *work, const int &lwork);
00076 
00077 void F77NAME(dcscmm)
00078   (const int &transa, const int &m, const int &n, const int &k, 
00079    const double &alpha, 
00080    const int descra[], const double *val, 
00081    const int *indx, const int *pntr, const double *b, int &ldb, 
00082    const double &beta, double *c, const int &ldc, 
00083    double *work, const int &lwork);
00084    
00085 void F77NAME(dcsrmm)
00086   (const int &transa, const int &m, const int &n, const int &k, 
00087    const double &alpha, 
00088    const int descra[], const double *val, 
00089    const int *indx, const int *pntr, const double *b, int &ldb, 
00090    const double &beta, double *c, const int &ldc, 
00091    double *work, const int &lwork);
00092   
00093 
00094 void F77NAME(dcscsm)
00095   (const int &transa, const int &m, const int &n,
00096    const int &unitd, const double *dv, const double &alpha, 
00097    const int descra[], const double *val, 
00098    const int *indx, const int *pntr, const double *b, int &ldb, 
00099    const double &beta, double *c, const int &ldc, 
00100    double *work, const int &lwork);
00101 
00102 void F77NAME(dcsrsm)
00103   (const int &transa, const int &m, const int &n,
00104    const int &unitd, const double *dv, const double &alpha, 
00105    const int descra[], const double *val, 
00106    const int *indx, const int *pntr, const double *b, int &ldb, 
00107    const double &beta, double *c, const int &ldc, 
00108    double *work, const int &lwork);
00109 
00110 void F77NAME(scscsm)
00111   (const int &transa, const int &m, const int &n,
00112    const int &unitd, const float *dv, const float &alpha, 
00113    const int descra[], const float *val, 
00114    const int *indx, const int *pntr, const float *b, int &ldb, 
00115    const float &beta, float *c, const int &ldc, 
00116    float *work, const int &lwork);
00117 
00118 void F77NAME(scsrsm)
00119   (const int &transa, const int &m, const int &n,
00120    const int &unitd, const float *dv, const float &alpha, 
00121    const int descra[], const float *val, 
00122    const int *indx, const int *pntr, const float *b, int &ldb, 
00123    const float &beta, float *c, const int &ldc, 
00124    float *work, const int &lwork);
00125 
00126 #ifdef COMPLEX_SUPPORT
00127 
00128 void F77NAME(zcoomm)
00129   (const int &transa, const int &m, const int &n, const int &k, 
00130    const complex &alpha, 
00131    const int descra[], const complex *val, 
00132    const int *indx, const int *jndx, const int &nnz, 
00133    const complex *b, const int &ldb, 
00134    const complex &beta, complex *c, const int &ldc, 
00135    complex *work, const int &lwork);
00136 
00137 void F77NAME(zcscmm)
00138   (const int &transa, const int &m, const int &n, const int &k, 
00139    const complex &alpha, 
00140    const int descra[], const complex *val, 
00141    const int *indx, const int *pntr, const complex *b, int &ldb, 
00142    const complex &beta, complex *c, const int &ldc, 
00143    complex *work, const int &lwork);
00144    
00145 void F77NAME(zcsrmm)
00146   (const int &transa, const int &m, const int &n, const int &k, 
00147    const complex &alpha, 
00148    const int descra[], const complex *val, 
00149    const int *indx, const int *pntr, const complex *b, int &ldb, 
00150    const complex &beta, complex *c, const int &ldc, 
00151    complex *work, const int &lwork);
00152 
00153 void F77NAME(zcscsm)
00154   (const int &transa, const int &m, const int &n,
00155    const int &unitd, const complex *dv, const complex &alpha, 
00156    const int descra[], const complex *val, 
00157    const int *indx, const int *pntr, const complex *b, int &ldb, 
00158    const complex &beta, complex *c, const int &ldc, 
00159    complex *work, const int &lwork);
00160 
00161 void F77NAME(zcsrsm)
00162   (const int &transa, const int &m, const int &n,
00163    const int &unitd, const complex *dv, const complex &alpha, 
00164    const int descra[], const complex *val, 
00165    const int *indx, const int *pntr, const complex *b, int &ldb, 
00166    const complex &beta, complex *c, const int &ldc, 
00167    complex *work, const int &lwork);
00168 
00169 
00170 #endif
00171 // COMPLEX_SUPPORT
00172 
00173 
00174 
00175 }
00176 
00177 #endif

Generated on Tue Oct 20 12:48:53 2009 for IFPACK by doxygen 1.4.7