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

Home » Public Forums » archive » Re: using WHERE to search for multiple values
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: using WHERE to search for multiple values [message #30398 is a reply to message #30396] Fri, 26 April 2002 06:08 Go to previous messageGo to previous message
Paul Van Delst[1] is currently offline  Paul Van Delst[1]
Messages: 1157
Registered: April 2002
Senior Member
Doug Martin wrote:
>
> I'm trying to do something like the following:
>
> w=where(im eq val)
>
> with im a byte array (say, 640x480)
> and val an array (say, 10 to 40 long)
>
> I want to find where im is equal to _any_ of the values in val. But,
> val is not always the same size.
>
> Is there a way to do this using one WHERE call? There seems to be a
> giant time difference between:
>
> for i=0,(size(val))[1]-1 do begin
> w=where(im eq val(i))
> ...
> endfor

why not do it using the loop but using the COMPLEMENT keyword to WHERE so that subsequent
searches don't search the values of IM that you've already matched to the previous VAL(i)? Each
subsequent search will be on a smaller part of the IM array.

Of course:
a) you will have to reconstruct the index values to reflect their IM index rather than their
IM(complement) indices and
b) this may be even slower if the values you're looking for are randomly distributed throughout
the array (i.e. searching an array that is increasingly non-contiguous in memory). You're
arrays aren't that large tho'.

paulv

--
Paul van Delst Religious and cultural
CIMSS @ NOAA/NCEP purity is a fundamentalist
Ph: (301)763-8000 x7274 fantasy
Fax:(301)763-8545 V.S.Naipaul
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Problem with z-buffering using IDLgrPolygon
Next Topic: Re: books about idl

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

Current Time: Wed Oct 15 16:18:53 PDT 2025

Total time taken to generate the page: 3.36118 seconds