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

Home » Public Forums » archive » Negative array indices
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Negative array indices [message #73811] Thu, 02 December 2010 13:54 Go to previous message
b_gom is currently offline  b_gom
Messages: 105
Registered: April 2003
Senior Member
I've been stumbling around trying to figure out uses for the negative
array indexing in IDL 8. As usual, the documentation doesn't fully
describe the logic behind the syntax rules.

One rule that I've discovered is that negative array indices shouldn't
be thought of as indices 'rolling over' as you cross zero. For
example:
If x=findgen(10), then x[-1] is the same as x[9], and x[-10] is the
same as x[0], but x[-11] isn't allowed. I can see why this follows
from not allowing positive indices greater than the number of elements
in x.

I guess this leads to this behaviour:
IDL> x=findgen(10)
IDL> print,x[-4:0]
% Illegal subscript range: X.

because this gets translated to:
IDL> print,x[6,0]
which isn't allowed.

Now, on to the real question. Why does the following not work:

IDL> print,x[1:3]
1.00000 2.00000 3.00000
IDL> print,x[[1,2,3]]
1.00000 2.00000 3.00000
IDL> print,x[-3:-1]
7.00000 8.00000 9.00000
IDL> print,x[[-3,-2,-1]]
0.000000 0.000000 0.000000
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: New Graphics Challange
Next Topic: Convolution Kernel

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

Current Time: Fri Oct 10 06:15:41 PDT 2025

Total time taken to generate the page: 1.12028 seconds