Re: Precision Problem [message #49393] |
Mon, 24 July 2006 12:34  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
Paul Van Delst wrote:
> You're correct. If you want more than 6/7 decimal place precision, you
I really should have said if you want more than 6/7 meaningful significant figures...
> need double (at least, for it to be meaningful):
>
> IDL> x=10000000.0
> IDL> print, x, format='(f12.2)'
> 10000000.00
> IDL> x=x+0.1
> IDL> print, x, format='(f12.2)'
> 10000000.00
>
> IDL> x=10000000.0d
> IDL> print, x, format='(f12.2)'
> 10000000.00
> IDL> x=x+0.1d
> IDL> print, x, format='(f12.2)'
> 10000000.10
>
>
> paulv
>
--
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx
Ph: (301)763-8000 x7748
Fax:(301)763-8545
|
|
|
Re: Precision Problem [message #49394 is a reply to message #49393] |
Mon, 24 July 2006 12:33   |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
Bruce Bowler wrote:
> On Mon, 24 Jul 2006 09:51:40 -0700, DMac put fingers to keyboard and said:
>
>
>> shapefile. The X coordinates are fine. The X coordinates are 6 digits
>> to the left of the decimal place while the Y coordinates are 7 digits
>> to the left of the decimal place
>
>
> As Paul pointed out, you're getting single precision rather then double
> precision.
>
> Are the 6 and 7 digits before or after the conversion? If after, the
> problems are both related as 7 digits is typically the limit of the number
> of significant digits in a SP number (I think :-). The range is
> 10^(+/-)38, but # of significant digits is much less.
Ah, yeah. I misunderstood the explanation and totaly missed the 6-7 digit clue there. I
thought the y-values were just integers, no decimals at all.
You're correct. If you want more than 6/7 decimal place precision, you need double (at
least, for it to be meaningful):
IDL> x=10000000.0
IDL> print, x, format='(f12.2)'
10000000.00
IDL> x=x+0.1
IDL> print, x, format='(f12.2)'
10000000.00
IDL> x=10000000.0d
IDL> print, x, format='(f12.2)'
10000000.00
IDL> x=x+0.1d
IDL> print, x, format='(f12.2)'
10000000.10
paulv
--
Paul van Delst Ride lots.
CIMSS @ NOAA/NCEP/EMC Eddy Merckx
Ph: (301)763-8000 x7748
Fax:(301)763-8545
|
|
|
|
|
Re: Precision Problem [message #49486 is a reply to message #49393] |
Mon, 24 July 2006 14:05  |
DMac
Messages: 6 Registered: May 2006
|
Junior Member |
|
|
Thanks a bunch guys. That was the problem i.e. I should use 1.000d-002
rather than the single precision literal 1.000e-002.
Solved all my problems.
I really appreciate the prompt and accurate replies.
Derek M.
Paul Van Delst wrote:
> Paul Van Delst wrote:
>> You're correct. If you want more than 6/7 decimal place precision, you
>
> I really should have said if you want more than 6/7 meaningful significant figures...
>
>
>> need double (at least, for it to be meaningful):
>>
>> IDL> x=10000000.0
>> IDL> print, x, format='(f12.2)'
>> 10000000.00
>> IDL> x=x+0.1
>> IDL> print, x, format='(f12.2)'
>> 10000000.00
>>
>> IDL> x=10000000.0d
>> IDL> print, x, format='(f12.2)'
>> 10000000.00
>> IDL> x=x+0.1d
>> IDL> print, x, format='(f12.2)'
>> 10000000.10
>>
>>
>> paulv
>>
>
>
> --
> Paul van Delst Ride lots.
> CIMSS @ NOAA/NCEP/EMC Eddy Merckx
> Ph: (301)763-8000 x7748
> Fax:(301)763-8545
|
|
|