comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Arithmetic error from NR_MACHAR()
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Arithmetic error from NR_MACHAR() [message #12177] Mon, 29 June 1998 00:00 Go to previous message
Heiko H�nnefeld is currently offline  Heiko H�nnefeld
Messages: 7
Registered: June 1998
Junior Member
Hi all,

I tried to find out the machine precision on my LINUX PC with IDL 5.0.

The result is the following:

IDL> help, /struc, NR_MACHAR(/DOUBLE)
** Structure DMACHAR, 13 tags, length=68:
IBETA LONG 2
IT LONG 64
IRND LONG 2
NGRD LONG 0
MACHEP LONG -63
NEGEP LONG -64
IEXP LONG 2
MINEXP LONG -1075
MAXEXP LONG -1073
EPS DOUBLE 1.0842022e-19
EPSNEG DOUBLE 5.4210109e-20
XMIN DOUBLE 0.0000000
XMAX DOUBLE Inf
% Program caused arithmetic error: Floating divide by 0

It seems, that MAXEXP has got the wrong value.
Also XMAX, which is according to the manual calculated as
(1-EPSNEG)*IBETA^MAXEXP, is Infinity, what may be the origin of the
error message.
But then I tried this:

IDL> prec = NR_MACHAR(/DOUBLE)
% Program caused arithmetic error: Floating divide by 0
IDL> print, (1-prec.EPSNEG)*prec.IBETA^prec.MAXEXP
0.0000000

There I dont get 'Infinity' as result, but '0.0'.

If, however, I try the same on a UNIX-system, first everything seems ok.

IDL> help, /struc, NR_MACHAR(/DOUBLE)
** Structure DMACHAR, 13 tags, length=72:
IBETA LONG 2
IT LONG 53
IRND LONG 2
NGRD LONG 0
MACHEP LONG -52
NEGEP LONG -53
IEXP LONG 11
MINEXP LONG -1022
MAXEXP LONG 1024
EPS DOUBLE 2.2204460e-16
EPSNEG DOUBLE 1.1102230e-16
XMIN DOUBLE 2.2250739e-308
XMAX DOUBLE 1.7976931e+308

But - if I calculate XMAX myself again - the result is 0.0:
IDL> prec = NR_MACHAR(/DOUBLE)
IDL> print, (1-prec.EPSNEG)*prec.IBETA^prec.MAXEXP
0.0000000

If I use MACHAR() instead of NR_MACHAR(), exactly the same happens.
The keyword DOUBLE also is not the origin of the problem.

Maybe anybody else understands, what happens?

Thanks,
Heiko
--

Heiko H�nnefeld

HASYLAB / DESY

Notkestr. 85
22603 Hamburg
Tel.: 040 / 8998-2698
Fax.: 040 / 8998-2787
e-mail: hhuenne@desy.de
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Object graphics under Linux: are they supposed to be that slow?
Next Topic: Re: All I get is gray scale

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 22:10:20 PDT 2025

Total time taken to generate the page: 0.64162 seconds