Bug 21191 - R mis-reports machine constants
Summary: R mis-reports machine constants
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Powertools
Classification: Retired
Component: R-base
Version: 7.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tim Powers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends On: 21188
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-11-21 17:15 UTC by Plummer, Martyn
Modified: 2008-05-01 15:37 UTC (History)
0 users

(edit)
Clone Of:
(edit)
Last Closed: 2000-12-21 20:55:11 UTC


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2000:134 normal SHIPPED_LIVE New R-base package available 2000-12-19 05:00:00 UTC

Description Plummer, Martyn 2000-11-21 17:15:36 UTC
The R language includes a routine for determining the machine constants at
run time.  This incorrectly reports the value of the double precision

To see the bug, start R (type "R" at the shell prompt) then type
Machine()$double.eps
which will print the value of the double precision. Or on a log scale
log(Machine()$double.eps, base=2)
Type
q()
To quit R.

The value should be 2^-52, but is mis-reported as 2^-63 on an i686.
To quote Peter Dalgaard, one of the core developers "It is not merely a
matter of cosmetics, those machine constants actually get used for
determining convergence criteria and the like. Having them set too low
could send algorithms into infinite loops."

The bug is due to some over-zealous optimization on the part of gcc
2.96.  I have filed a separate bug report on this (#21188).

This bug would have been found by including the step "make check" in the
build process, but this has been omitted from the spec file for R-base.

Comment 1 Tim Powers 2000-11-21 20:16:06 UTC
I'll have to wait until Jakub figures out what's up with gcc prior to releasing
an update. I am putting this on deferred until gcc is fixed, and making this bug
rely on  the gcc bug in order to be fixed.

Tim

Comment 2 Tim Powers 2000-12-21 20:54:53 UTC
OK. It's fixed and an errata has been issued since gcc was errata'd yesterday.

Tim


Note You need to log in before you can comment on or make changes to this bug.