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
Re: Arithmetic error [message #29073 is a reply to message #12177] Fri, 01 February 2002 02:12 Go to previous messageGo to previous message
Nigel Wade is currently offline  Nigel Wade
Messages: 286
Registered: March 1998
Senior Member
Ed Wright wrote:

> in article a3b58p$kb2i$1@rook.le.ac.uk, Nigel Wade at nmw@ion.le.ac.uk
> wrote on 1/31/02 2:11 AM:
>
>> Ed Wright wrote:
>>
>>>
>>> To: IDL
>>> From: Ed Wright, JPL
>>>
>>> I require assistance with an odd problem. My current projects involves
>>> creating a dlm module of some 200+ routines from a library of 1500+
>>> routines. Several of the IDL callable routines replicate intrinsic IDL
>>> calls. While testing one such routine that calculates determinate of a
>>> 3X3 I encountered a problem. The numerical result between my determinant
>>> function and determn matches to 10^(-16).
>>>
>>> Now the odd thing. Under certain circumstances the use of my determinant
>>> function as an argument in another routine call causes an error:
>>>
>>> % Program caused arithmetic error: Floating illegal operand.
>>>
>>
>> That error means somewhere in your code you have generated a NaN (Not a
>> Number). The operations which generate NaNs include 0/0, Inf*0, sqrt(<0)
>> Inf-Inf,Inf/Inf (there may be others...).
>
> By code, should I take it to mean the external C code?
>

It could be either. Both IDL and C would generate the same floating point
exception. I can't offhand remember whether an exception in your C code
would generate this exception in IDL. But it might be that the C code
generates a Nan/Inf and then IDL generates the exception when it tries to
use it.

>>
>> Since you don't have a preceding 'Floating divide by zero', it's a fair
>> bet your error doesn't involve Inf. So, all you have to do is look
>> through your code to find where you might have a 0/0 or sqrt(<0). ;-)
>
> Oh, is that all. No problem. 300k lines - let me at them.... Mr.
> Codebuster, that's me.

Debugging external code is always fun.

I forsee extensive use of printf...


--
-----------------------------------------------------------
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523568, Fax : +44 (0)116 2523555
[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: Sat Oct 11 01:54:04 PDT 2025

Total time taken to generate the page: 0.63916 seconds