rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.

* math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
	conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.

From-SVN: r176999
This commit is contained in:
Jakub Jelinek 2011-08-01 10:55:33 +02:00 committed by Jakub Jelinek
parent 8586635cd8
commit 57044b5af1
2 changed files with 17 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2011-08-01 Jakub Jelinek <jakub@redhat.com>
* math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.
2011-04-03 Tobias Burnus <burnus@net-b.de>
PR fortran/48311

View File

@ -282,14 +282,20 @@ recompute:
break;
case 3: /* painful */
for (i=jz;i>0;i--) {
fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw;
fq[i-1] = fw;
#if __FLT_EVAL_METHOD__ != 0
volatile
#endif
double fv = (double)(fq[i-1]+fq[i]);
fq[i] += fq[i-1]-fv;
fq[i-1] = fv;
}
for (i=jz;i>1;i--) {
fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw;
fq[i-1] = fw;
#if __FLT_EVAL_METHOD__ != 0
volatile
#endif
double fv = (double)(fq[i-1]+fq[i]);
fq[i] += fq[i-1]-fv;
fq[i-1] = fv;
}
for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
if(ih==0) {