On Sun, 19 Dec 2004, Malcolm J. Currie wrote:
> Can someone field this please? Looks like a feature to me.
It looks to me like an overflow. It's hard for the decode routine to
discover that a number of excessive size has been provided, because to do
so you have to decode the number! And evidently single precision supports
a smaller range than double (i.e. as well as lower precision). What's
more, I would guess that chr_ctor calls chr_ctod, so picks up the OK
status and then gets the overflow when the conversion to real takes place.
I expect you'd have much the same problems using sla_DFLTIN. The
limitation is writing in a language that can't deal with exceptions. The
cure is for the application to arrange its units so it never goes outside
say 1E+/-38.
I had a quick look at the chr_ctor documentation and thought it could do
with a few example strings. For example it suprises me that the string
text = "-0.15732190062648830795+164"
is OK, with no D or E preceding the exponent. (Nor did I know that the
Fortran compilers supported strings delimited by double quotes.)
Patrick Wallace
____________________________________________________________________________
Starlink/HMNAO Internet: [log in to unmask]
Rutherford Appleton Laboratory Tel: +44-1235-445372
Chilton, Didcot, Fax: +44-1235-446362
Oxon OX11 0QX, UK
____________________________________________________________________________
|