bugfix for zgeev
This commit is contained in:
parent
296564e369
commit
7c611a2f95
|
@ -142,8 +142,8 @@ static void *huge_malloc(BLASLONG size){
|
||||||
int MAIN__(int argc, char *argv[]){
|
int MAIN__(int argc, char *argv[]){
|
||||||
|
|
||||||
FLOAT *a,*vl,*vr,*wi,*wr,*work,*rwork;
|
FLOAT *a,*vl,*vr,*wi,*wr,*work,*rwork;
|
||||||
FLOAT wkopt;
|
FLOAT wkopt[4];
|
||||||
char job[2]="V";
|
char job='V';
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
blasint m, i, j, info,lwork;
|
blasint m, i, j, info,lwork;
|
||||||
|
@ -162,11 +162,11 @@ int MAIN__(int argc, char *argv[]){
|
||||||
if (argc > 0) { to = MAX(atol(*argv), from); argc--; argv++;}
|
if (argc > 0) { to = MAX(atol(*argv), from); argc--; argv++;}
|
||||||
if (argc > 0) { step = atol(*argv); argc--; argv++;}
|
if (argc > 0) { step = atol(*argv); argc--; argv++;}
|
||||||
|
|
||||||
if ((p = getenv("OPENBLAS_JOB"))) job[0]=*p;
|
if ((p = getenv("OPENBLAS_JOB"))) job=*p;
|
||||||
|
|
||||||
if ( job[0] == 'N' ) factor = 10.0;
|
if ( job == 'N' ) factor = 10.0;
|
||||||
|
|
||||||
fprintf(stderr, "From : %3d To : %3d Step = %3d Job=%s\n", from, to, step,job);
|
fprintf(stderr, "From : %3d To : %3d Step = %3d Job=%c\n", from, to, step,job);
|
||||||
|
|
||||||
if (( a = (FLOAT *)malloc(sizeof(FLOAT) * to * to * COMPSIZE)) == NULL){
|
if (( a = (FLOAT *)malloc(sizeof(FLOAT) * to * to * COMPSIZE)) == NULL){
|
||||||
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
||||||
|
@ -202,12 +202,12 @@ int MAIN__(int argc, char *argv[]){
|
||||||
lwork = -1;
|
lwork = -1;
|
||||||
m=to;
|
m=to;
|
||||||
#ifndef COMPLEX
|
#ifndef COMPLEX
|
||||||
GEEV (job, job, &m, a, &m, wr, wi, vl, &m, vr, &m, &wkopt, &lwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, wi, vl, &m, vr, &m, wkopt, &lwork, &info);
|
||||||
#else
|
#else
|
||||||
GEEV (job, job, &m, a, &m, wr, vl, &m, vr, &m, &wkopt, &lwork,rwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, vl, &m, vr, &m, wkopt, &lwork,rwork, &info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lwork = (blasint)wkopt;
|
lwork = (blasint)wkopt[0];
|
||||||
if (( work = (FLOAT *)malloc(sizeof(FLOAT) * lwork * COMPSIZE)) == NULL){
|
if (( work = (FLOAT *)malloc(sizeof(FLOAT) * lwork * COMPSIZE)) == NULL){
|
||||||
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
||||||
}
|
}
|
||||||
|
@ -226,16 +226,16 @@ int MAIN__(int argc, char *argv[]){
|
||||||
|
|
||||||
lwork = -1;
|
lwork = -1;
|
||||||
#ifndef COMPLEX
|
#ifndef COMPLEX
|
||||||
GEEV (job, job, &m, a, &m, wr, wi, vl, &m, vr, &m, &wkopt, &lwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, wi, vl, &m, vr, &m, wkopt, &lwork, &info);
|
||||||
#else
|
#else
|
||||||
GEEV (job, job, &m, a, &m, wr, vl, &m, vr, &m, &wkopt, &lwork,rwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, vl, &m, vr, &m, wkopt, &lwork,rwork, &info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lwork = (blasint)wkopt;
|
lwork = (blasint)wkopt[0];
|
||||||
#ifndef COMPLEX
|
#ifndef COMPLEX
|
||||||
GEEV (job, job, &m, a, &m, wr, wi, vl, &m, vr, &m, work, &lwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, wi, vl, &m, vr, &m, work, &lwork, &info);
|
||||||
#else
|
#else
|
||||||
GEEV (job, job, &m, a, &m, wr, vl, &m, vr, &m, work, &lwork,rwork, &info);
|
GEEV (&job, &job, &m, a, &m, wr, vl, &m, vr, &m, work, &lwork,rwork, &info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gettimeofday( &stop, (struct timezone *)0);
|
gettimeofday( &stop, (struct timezone *)0);
|
||||||
|
|
Loading…
Reference in New Issue