# comparing numbers using WHERE doesn't work

• Subject: comparing numbers using WHERE doesn't work
• From: "Miklos Z. Kiss" <mzkiss(at)unity.ncsu.edu>
• Date: Sat, 2 Jun 2001 15:15:16 -0400
• Newsgroups: comp.lang.idl-pvwave
• Organization: NC State University
• Xref: news.doit.wisc.edu comp.lang.idl-pvwave:25191

```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 = [2.0000, 2.1000, 2.2000, 2.3000, 2.4000, 2.5000, 2.6000].
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[0]  ; convert from 1-D array to single integer.
index1 = WHERE(a EQ y)
index1 = index[0]

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[2] 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

```