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

Home » Public Forums » archive » comparing numbers using WHERE doesn't work
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: comparing numbers using WHERE doesn't work [message #25363 is a reply to message #25243] Tue, 05 June 2001 06:18 Go to previous messageGo to previous message
Martin Schultz is currently offline  Martin Schultz
Messages: 515
Registered: August 1997
Senior Member
"Miklos Z. Kiss" <mzkiss@unity.ncsu.edu> writes:

> Hi folks:
> I have noticed a strange occurence when I try to compare a number with
> all the elements of an array. I'll show my situation in an example.
> Consider the following array:
> a = .
> Let, x = 2.2000, y = 2.4000
> So, I want to find which elements of a match up with x and y.
> Naturally, I do the following:
>
>
> index0 = WHERE(a EQ x)
> index0 = index ; convert from 1-D array to single integer.
> index1 = WHERE(a EQ y)
> index1 = index
>
>
> So, when I execute, I may get the following:
> PRINT, index0
> 2
>
> PRINT, index1
> -1
>
> The output clearly tells me that x occurs at a and that y does not exist
> in a at all. By inspection, IDL should return the value 4. Does anyone
> have any idea why this happens? Thanks,
>
> Mik Kiss

You must have a strange computer system ;-). The above should normally
work, if (1) you are positively sure that all number are single
precision or all numbers are double, (2) you didn't get 2.4000 as a
result of some computation but explicitely wrote it into the vector.

But these 2 conditions show you excatly why you shouldn't use an EQ
comparison on floating point numbers.

Cheers,

Martin


--
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
[[ Dr. Martin Schultz Max-Planck-Institut fuer Meteorologie [[
[[ Bundesstr. 55, 20146 Hamburg [[
[[ phone: +49 40 41173-308 [[
[[ fax: +49 40 41173-298 [[
[[ martin.schultz@dkrz.de [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: interpolating missing data
Next Topic: Re: IDL 5.4 and MacOS 9.1

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

Current Time: Sat Oct 11 06:57:47 PDT 2025

Total time taken to generate the page: 0.80168 seconds