1 line
No EOL
7.5 KiB
C
Executable file
1 line
No EOL
7.5 KiB
C
Executable file
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
|
/* ******** *** SparseLib++ */
|
|
/* ******* ** *** *** *** v. 1.5c */
|
|
/* ***** *** ******** ******** */
|
|
/* ***** *** ******** ******** R. Pozo */
|
|
/* ** ******* *** ** *** *** K. Remington */
|
|
/* ******** ******** A. Lumsdaine */
|
|
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
|
/* */
|
|
/* */
|
|
/* SparseLib++ : Sparse Matrix Library */
|
|
/* */
|
|
/* National Institute of Standards and Technology */
|
|
/* University of Notre Dame */
|
|
/* Authors: R. Pozo, K. Remington, A. Lumsdaine */
|
|
/* */
|
|
/* NOTICE */
|
|
/* */
|
|
/* Permission to use, copy, modify, and distribute this software and */
|
|
/* its documentation for any purpose and without fee is hereby granted */
|
|
/* provided that the above notice appear in all copies and supporting */
|
|
/* documentation. */
|
|
/* */
|
|
/* Neither the Institutions (National Institute of Standards and Technology, */
|
|
/* University of Notre Dame) nor the Authors make any representations about */
|
|
/* the suitability of this software for any purpose. This software is */
|
|
/* provided ``as is'' without expressed or implied warranty. */
|
|
/* */
|
|
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
|
|
|
|
|
#ifndef SPBLAS_H
|
|
#define SPBLAS_H
|
|
|
|
//#ifndef F77NAME
|
|
//# include "generic.h" // modif GR <generic.h>
|
|
//# if defined(RIOS)
|
|
//# define F77NAME(x) x
|
|
//# else
|
|
//# define F77NAME(x) name2(x,_)
|
|
//# endif
|
|
//#endif
|
|
//#ifdef SYSTEM_MAC_OS_X_unix
|
|
// #define F77NAME(x) x // nouvelle modif
|
|
//#else
|
|
#define F77NAME(x) x##_ // modif GR : celui-ci car les autres ne marchent pas !!
|
|
//#endif
|
|
|
|
#ifdef COMPLEX_SUPPORT
|
|
#include "complex.h"
|
|
#endif
|
|
|
|
extern "C" {
|
|
|
|
void F77NAME(scoomm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const float &alpha,
|
|
const int descra[], const float *val,
|
|
const int *indx, const int *jndx, const int &nnz,
|
|
const float *b, const int &ldb,
|
|
const float &beta, float *c, const int &ldc,
|
|
float *work, const int &lwork);
|
|
|
|
void F77NAME(scscmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const float &alpha,
|
|
const int descra[], const float *val,
|
|
const int *indx, const int *pntr, const float *b, int &ldb,
|
|
const float &beta, float *c, const int &ldc,
|
|
float *work, const int &lwork);
|
|
|
|
void F77NAME(scsrmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const float &alpha,
|
|
const int descra[], const float *val,
|
|
const int *indx, const int *pntr, const float *b, int &ldb,
|
|
const float &beta, float *c, const int &ldc,
|
|
float *work, const int &lwork);
|
|
|
|
void F77NAME(dcoomm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const double &alpha,
|
|
const int descra[], const double *val,
|
|
const int *indx, const int *jndx, const int &nnz,
|
|
const double *b, const int &ldb,
|
|
const double &beta, double *c, const int &ldc,
|
|
double *work, const int &lwork);
|
|
|
|
void F77NAME(dcscmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const double &alpha,
|
|
const int descra[], const double *val,
|
|
const int *indx, const int *pntr, const double *b, int &ldb,
|
|
const double &beta, double *c, const int &ldc,
|
|
double *work, const int &lwork);
|
|
|
|
void F77NAME(dcsrmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const double &alpha,
|
|
const int descra[], const double *val,
|
|
const int *indx, const int *pntr, const double *b, int &ldb,
|
|
const double &beta, double *c, const int &ldc,
|
|
double *work, const int &lwork);
|
|
|
|
|
|
void F77NAME(dcscsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const double *dv, const double &alpha,
|
|
const int descra[], const double *val,
|
|
const int *indx, const int *pntr, const double *b, int &ldb,
|
|
const double &beta, double *c, const int &ldc,
|
|
double *work, const int &lwork);
|
|
|
|
void F77NAME(dcsrsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const double *dv, const double &alpha,
|
|
const int descra[], const double *val,
|
|
const int *indx, const int *pntr, const double *b, int &ldb,
|
|
const double &beta, double *c, const int &ldc,
|
|
double *work, const int &lwork);
|
|
|
|
void F77NAME(scscsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const float *dv, const float &alpha,
|
|
const int descra[], const float *val,
|
|
const int *indx, const int *pntr, const float *b, int &ldb,
|
|
const float &beta, float *c, const int &ldc,
|
|
float *work, const int &lwork);
|
|
|
|
void F77NAME(scsrsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const float *dv, const float &alpha,
|
|
const int descra[], const float *val,
|
|
const int *indx, const int *pntr, const float *b, int &ldb,
|
|
const float &beta, float *c, const int &ldc,
|
|
float *work, const int &lwork);
|
|
|
|
#ifdef COMPLEX_SUPPORT
|
|
|
|
void F77NAME(zcoomm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const complex &alpha,
|
|
const int descra[], const complex *val,
|
|
const int *indx, const int *jndx, const int &nnz,
|
|
const complex *b, const int &ldb,
|
|
const complex &beta, complex *c, const int &ldc,
|
|
complex *work, const int &lwork);
|
|
|
|
void F77NAME(zcscmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const complex &alpha,
|
|
const int descra[], const complex *val,
|
|
const int *indx, const int *pntr, const complex *b, int &ldb,
|
|
const complex &beta, complex *c, const int &ldc,
|
|
complex *work, const int &lwork);
|
|
|
|
void F77NAME(zcsrmm)
|
|
(const int &transa, const int &m, const int &n, const int &k,
|
|
const complex &alpha,
|
|
const int descra[], const complex *val,
|
|
const int *indx, const int *pntr, const complex *b, int &ldb,
|
|
const complex &beta, complex *c, const int &ldc,
|
|
complex *work, const int &lwork);
|
|
|
|
void F77NAME(zcscsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const complex *dv, const complex &alpha,
|
|
const int descra[], const complex *val,
|
|
const int *indx, const int *pntr, const complex *b, int &ldb,
|
|
const complex &beta, complex *c, const int &ldc,
|
|
complex *work, const int &lwork);
|
|
|
|
void F77NAME(zcsrsm)
|
|
(const int &transa, const int &m, const int &n,
|
|
const int &unitd, const complex *dv, const complex &alpha,
|
|
const int descra[], const complex *val,
|
|
const int *indx, const int *pntr, const complex *b, int &ldb,
|
|
const complex &beta, complex *c, const int &ldc,
|
|
complex *work, const int &lwork);
|
|
|
|
|
|
#endif
|
|
// COMPLEX_SUPPORT
|
|
|
|
|
|
|
|
}
|
|
|
|
#endif
|