Keep both PGI/SUN and default code paths to avoid breaking Clang/WIndows
This commit is contained in:
parent
3a55dca2dc
commit
11c59acfb1
|
@ -181,11 +181,19 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
#if defined(SMP)
|
#if defined(SMP)
|
||||||
int nthreads;
|
int nthreads;
|
||||||
FLOAT dummy_alpha;
|
FLOAT dummy_alpha;
|
||||||
|
#if defined(C_PGI) || defined(C_SUN)
|
||||||
FLOAT zdotr=0., zdoti=0.;
|
FLOAT zdotr=0., zdoti=0.;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
OPENBLAS_COMPLEX_FLOAT zdot;
|
OPENBLAS_COMPLEX_FLOAT zdot;
|
||||||
|
#if defined(C_PGI) || defined(C_SUN)
|
||||||
zdot=OPENBLAS_MAKE_COMPLEX_FLOAT(0.0,0.0);
|
zdot=OPENBLAS_MAKE_COMPLEX_FLOAT(0.0,0.0);
|
||||||
|
#else
|
||||||
|
CREAL(zdot) = 0.0;
|
||||||
|
CIMAG(zdot) = 0.0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(SMP)
|
#if defined(SMP)
|
||||||
if (inc_x == 0 || inc_y == 0 || n <= 10000)
|
if (inc_x == 0 || inc_y == 0 || n <= 10000)
|
||||||
nthreads = 1;
|
nthreads = 1;
|
||||||
|
@ -211,17 +219,23 @@ OPENBLAS_COMPLEX_FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLA
|
||||||
|
|
||||||
ptr = (OPENBLAS_COMPLEX_FLOAT *)result;
|
ptr = (OPENBLAS_COMPLEX_FLOAT *)result;
|
||||||
for (i = 0; i < nthreads; i++) {
|
for (i = 0; i < nthreads; i++) {
|
||||||
|
#if defined(C_PGI) || defined(C_SUN)
|
||||||
zdotr += CREAL(*ptr);
|
zdotr += CREAL(*ptr);
|
||||||
zdoti += CIMAG(*ptr);
|
zdoti += CIMAG(*ptr);
|
||||||
// CREAL(zdot) = CREAL(zdot) + CREAL(*ptr);
|
#else
|
||||||
// CIMAG(zdot) = CIMAG(zdot) + CIMAG(*ptr);
|
CREAL(zdot) = CREAL(zdot) + CREAL(*ptr);
|
||||||
|
CIMAG(zdot) = CIMAG(zdot) + CIMAG(*ptr);
|
||||||
|
#endif
|
||||||
ptr = (void *)(((char *)ptr) + sizeof(double) * 2);
|
ptr = (void *)(((char *)ptr) + sizeof(double) * 2);
|
||||||
}
|
}
|
||||||
|
#if defined(C_PGI) || defined(C_SUN)
|
||||||
zdot = OPENBLAS_MAKE_COMPLEX_FLOAT(zdotr,zdoti);
|
zdot = OPENBLAS_MAKE_COMPLEX_FLOAT(zdotr,zdoti);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
zdot_compute(n, x, inc_x, y, inc_y, &zdot);
|
zdot_compute(n, x, inc_x, y, inc_y, &zdot);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return zdot;
|
return zdot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue