Message97443
| Author | mark.dickinson |
|---|---|
| Recipients | eric.smith, mark.dickinson, skrah |
| Date | 2010-01-08.22:18:31 |
| SpamBayes Score | 0.00018757873 |
| Marked as misclassified | No |
| Message-id | <1262989113.44.0.897688875119.issue7632@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
Okay, I think I've found the cause of the second rounding bug above: at the end of the bigcomp function there's a correction block that looks like
...
else if (dd < 0) {
if (!dsign) /* does not happen for round-near */
retlow1:
dval(rv) -= ulp(rv);
}
else if (dd > 0) {
if (dsign) {
rethi1:
dval(rv) += ulp(rv);
}
}
else ...
The problem is that the += and -= corrections don't take into account the possibility that bc->scale is nonzero, and for the case where the scaled rv is subnormal, they'll typically have no effect.
I'll work on a fix... tomorrow. |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2010-01-08 22:18:33 | mark.dickinson | set | recipients: + mark.dickinson, eric.smith, skrah |
| 2010-01-08 22:18:33 | mark.dickinson | set | messageid: <1262989113.44.0.897688875119.issue7632@psf.upfronthosting.co.za> |
| 2010-01-08 22:18:31 | mark.dickinson | link | issue7632 messages |
| 2010-01-08 22:18:31 | mark.dickinson | create | |