29#ifndef BLACS_CONNECTOR_H
30#define BLACS_CONNECTOR_H
48 void Cigebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
int *A,
int lda);
49 void Cigebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
int *A,
int lda,
int rsrc,
int csrc);
51 void Csgebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
float *A,
int lda);
52 void Csgebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
float *A,
int lda,
int rsrc,
int csrc);
54 void Cdgebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
double *A,
int lda);
55 void Cdgebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
double *A,
int lda,
int rsrc,
int csrc);
57 void Ccgebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n, std::complex<float> *A,
int lda);
58 void Ccgebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n, std::complex<float> *A,
int lda,
int rsrc,
int csrc);
60 void Czgebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n, std::complex<double> *A,
int lda);
61 void Czgebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n, std::complex<double> *A,
int lda,
int rsrc,
int csrc);
66void Cxgebs2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
T *A,
int lda)
69 std::is_same<T, int>::value ||
70 std::is_same<T, float>::value ||
71 std::is_same<T, double>::value ||
72 std::is_same<T,std::complex<float>>::value ||
73 std::is_same<T,std::complex<double>>::value,
74 "Type not supported");
76 if (std::is_same<T, int>::value) {
77 Cigebs2d(ConTxt, scope, top, m, n,
reinterpret_cast<int*
>(A), lda);
79 if (std::is_same<T, float>::value) {
80 Csgebs2d(ConTxt, scope, top, m, n,
reinterpret_cast<float*
>(A), lda);
82 if (std::is_same<T, double>::value) {
83 Cdgebs2d(ConTxt, scope, top, m, n,
reinterpret_cast<double*
>(A), lda);
85 if (std::is_same<
T, std::complex<float>>::value) {
86 Ccgebs2d(ConTxt, scope, top, m, n,
reinterpret_cast<std::complex<float>*
>(A), lda);
88 if (std::is_same<
T, std::complex<double>>::value) {
89 Czgebs2d(ConTxt, scope, top, m, n,
reinterpret_cast<std::complex<double>*
>(A), lda);
94void Cxgebr2d(
int ConTxt,
char *scope,
char *top,
int m,
int n,
T *A,
int lda,
int rsrc,
int csrc)
97 std::is_same<T, int>::value ||
98 std::is_same<T, float>::value ||
99 std::is_same<T, double>::value ||
100 std::is_same<T,std::complex<float>>::value ||
101 std::is_same<T,std::complex<double>>::value,
102 "Type not supported");
104 if (std::is_same<T, int>::value) {
105 Cigebr2d(ConTxt, scope, top, m, n,
reinterpret_cast<int*
>(A), lda, rsrc, csrc);
107 if (std::is_same<T, float>::value) {
108 Csgebr2d(ConTxt, scope, top, m, n,
reinterpret_cast<float*
>(A), lda, rsrc, csrc);
110 if (std::is_same<T, double>::value) {
111 Cdgebr2d(ConTxt, scope, top, m, n,
reinterpret_cast<double*
>(A), lda, rsrc, csrc);
113 if (std::is_same<
T, std::complex<float>>::value) {
114 Ccgebr2d(ConTxt, scope, top, m, n,
reinterpret_cast<std::complex<float>*
>(A), lda, rsrc, csrc);
116 if (std::is_same<
T, std::complex<double>>::value) {
117 Czgebr2d(ConTxt, scope, top, m, n,
reinterpret_cast<std::complex<double>*
>(A), lda, rsrc, csrc);
void Czgebr2d(int ConTxt, char *scope, char *top, int m, int n, std::complex< double > *A, int lda, int rsrc, int csrc)
void Cblacs_pcoord(int icontxt, int pnum, int *prow, int *pcol)
void Csgebr2d(int ConTxt, char *scope, char *top, int m, int n, float *A, int lda, int rsrc, int csrc)
void Ccgebr2d(int ConTxt, char *scope, char *top, int m, int n, std::complex< float > *A, int lda, int rsrc, int csrc)
void Cblacs_gridexit(int icontxt)
void Cblacs_get(int icontxt, int what, int *val)
void Cblacs_exit(int icontxt)
void Ccgebs2d(int ConTxt, char *scope, char *top, int m, int n, std::complex< float > *A, int lda)
void Cxgebr2d(int ConTxt, char *scope, char *top, int m, int n, T *A, int lda, int rsrc, int csrc)
Definition blacs_connector.h:94
void Cblacs_pinfo(int *myid, int *nprocs)
void Cigebs2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda)
void Cxgebs2d(int ConTxt, char *scope, char *top, int m, int n, T *A, int lda)
Definition blacs_connector.h:66
void Cblacs_gridmap(int *icontxt, int *usermap, int ldumap, int nprow, int npcol)
int Cblacs_pnum(int icontxt, int prow, int pcol)
int Csys2blacs_handle(MPI_Comm SysCtxt)
void Cdgebs2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda)
void Cigebr2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda, int rsrc, int csrc)
void Csgebs2d(int ConTxt, char *scope, char *top, int m, int n, float *A, int lda)
void Cblacs_gridinfo(int icontxt, int *nprow, int *npcol, int *myprow, int *mypcol)
void Czgebs2d(int ConTxt, char *scope, char *top, int m, int n, std::complex< double > *A, int lda)
MPI_Comm Cblacs2sys_handle(int BlacsCtxt)
void Cdgebr2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, int rsrc, int csrc)
void Cblacs_gridinit(int *icontxt, char *layout, int nprow, int npcol)
#define T
Definition exp.cpp:237
int mypcol
Definition tddft_test.cpp:14
int nprow
Definition tddft_test.cpp:14
int myprow
Definition tddft_test.cpp:14
int npcol
Definition tddft_test.cpp:14