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

Home » Public Forums » archive » Re: Loop Arrays
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: Loop Arrays [message #27110 is a reply to message #26977] Tue, 09 October 2001 15:06 Go to previous messageGo to previous message
Ken Mankoff is currently offline  Ken Mankoff
Messages: 158
Registered: February 2000
Senior Member
On Tue, 9 Oct 2001, Mark Hadfield wrote:

> From: "Ken Mankoff" <mankoff@lasp.colorado.edu>
>> I am interested in creating circular arrays, where subscripts that would
>> be out-of-bounds on a regular array just start indexing on the other side
>> of the array.
>
> You can do quite a lot with ordinary arrays using arrays of indices, eg
>
> a = indgen(10)
> print, a[ [0,10,20,100] mod n_elements(a)]
>

This is the technique I have been using. However there are 2 cases it does
not cover:

1) negative indexes require a few more lines of code to get your example
to work. I would recode it as:

a = indgen( 10 )
indexes = [ 0,10,20,100,-10,-22 ] ;;; or some other values...
ind = indexes mod n_elements( a )
neg = where( ind lt 0, num )
if ( num ne 0 ) then ind[ neg ] = ind[ neg ] + n_elements( a )
print, a[ ind ]

2) subscript ranges. You cannot do:
print, a[ 8:12 mod n_elements(a) ]

It is these two specific abilities that I would like to have.

-k.

--
Ken Mankoff
LASP://303.492.3264
http://lasp.colorado.edu/~mankoff/
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Mac OSX
Next Topic: IDL and XML

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

Current Time: Wed Oct 08 19:34:42 PDT 2025

Total time taken to generate the page: 0.00365 seconds