lib_ex_pour_HZpp/Partie_2/algebre_lineaire/sparselib++/sp1_5c/include/spblas.h

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