19 int comp(
const void *p,
const void *q) {
20 if(*(
double *)p > *(
double *)q)
return 1;
21 if(*(
double *)p < *(
double *)q)
return -1;
28 double *buffene = (
double *) malloc(xNsize *
sizeof(
double));
30 for(i = 0; i < xNsize; i++)
33 qsort(buffene, xNsize,
sizeof(
double),
comp);
35 fp = fopen(filename,
"wb+");
41 fwrite(buffene,
sizeof(
double), xNsize, fp);
52 double *buffene = (
double *) malloc(xNsize *
sizeof(
double));
54 for(i = 0; i < xNsize; i++)
55 buffene[i] = creal(ene[i]);
57 qsort(buffene, xNsize,
sizeof(
double),
comp);
59 fp = fopen(filename,
"wb+");
65 fwrite(buffene,
sizeof(
double), xNsize, fp);
76 fp = fopen(filename,
"wb+");
81 fwrite(vec[nene],
sizeof(
double), xNsize, fp);
91 fp = fopen(filename,
"wb+");
96 fwrite(vec[nene],
sizeof(complex
double), xNsize, fp);
106 fp = fopen(filename,
"rb+");
111 fread(ene,
sizeof(
double), xNsize, fp);
122 fp = fopen(filename,
"rb+");
127 fread(ene,
sizeof(complex
double), xNsize, fp);
137 fp = fopen(filename,
"rb+");
142 fread(vec[nene],
sizeof(
double), xNsize, fp);
152 fp = fopen(filename,
"rb+");
157 fread(vec[nene],
sizeof(complex
double), xNsize, fp);
int InputCmpEigenValue(int xNsize, complex double *ene, char *filename)
int OutputCmpEigenValue(int xNsize, complex double *ene, char *filename)
int OutputCmpEigenVec(int xNsize, const int nene, complex double **vec, const int nproc, char *filename)
int InputCmpEigenVec(int xNsize, const int nene, complex double **vec, const int nproc, char *filename)
int nproc
Number of processors, defined in InitializeMPI()
int InputRealEigenVec(int xNsize, const int nene, double **vec, const int nproc, char *filename)
int OutputRealEigenVec(int xNsize, const int nene, double **vec, const int nproc, char *filename)
int OutputRealEigenValue(int xNsize, double *ene, char *filename)
int comp(const void *p, const void *q)
int InputRealEigenValue(int xNsize, double *ene, char *filename)