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

Home » Public Forums » archive » Re: % Loop limit expression too large for loop variable type.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: % Loop limit expression too large for loop variable type. [message #24880] Mon, 30 April 2001 10:41
Paul van Delst is currently offline  Paul van Delst
Messages: 364
Registered: March 1997
Senior Member
hua Guo wrote:
>
> Dear all,
> I got this error message when I tried to run a program:
>
> % Loop limit expression too large for loop variable type.
> <LONG ( 54695)>.
>
> What is wrong here? I am a beginner here. Thanks for any help.
>
> Hua

If you have

FOR i = 0, really_big_number - 1 DO BEGIN

change it to

FOR i = 0L, really_big_number - 1 DO BEGIN



--
Paul van Delst A little learning is a dangerous thing;
CIMSS @ NOAA/NCEP Drink deep, or taste not the Pierian spring;
Ph: (301)763-8000 x7274 There shallow draughts intoxicate the brain,
Fax:(301)763-8545 And drinking largely sobers us again.
paul.vandelst@noaa.gov Alexander Pope.
Re: % Loop limit expression too large for loop variable type. [message #24882 is a reply to message #24880] Mon, 30 April 2001 09:58 Go to previous message
Craig Markwardt is currently offline  Craig Markwardt
Messages: 1869
Registered: November 1996
Senior Member
"hua Guo" <gh75@usa.net> writes:

> Dear all,
> I got this error message when I tried to run a program:
>
> % Loop limit expression too large for loop variable type.
> <LONG ( 54695)>.
>
> What is wrong here? I am a beginner here. Thanks for any help.

The default type for integers in IDL is a "short" or 16-bit integer,
which can only go from -32768 to 32767. The quick fix is to put an
"L" at the end of your numeric constants to promote them to "long"
32-bit integers.

for i = 0L, NMAX-1 do begin ...

Note the "0L" instead of "0".

Craig

P.S. This is one of the secret banes of IDL programming. You have
the freedom to use any IDL type at any time. The problem is that any
IDL type can appear at any time...

--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
Re: % Loop limit expression too large for loop variable type. [message #24885 is a reply to message #24880] Mon, 30 April 2001 10:00 Go to previous message
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
hua Guo (gh75@usa.net) writes:

> I got this error message when I tried to run a program:
>
> % Loop limit expression too large for loop variable type.
> <LONG ( 54695)>.
>
> What is wrong here? I am a beginner here.

Normally, any integer in IDL is a short (two byte)
integer, including integers in loop expressions.
You need your loop variables to be LONG (four byte)
integers. You can set this up in one of two different ways.

The most common way is to force the loop expression
to be a long integer:

FOR j=0L, n DO Whatever

The second is to make ALL integers in your program
be long integers. You do this by putting a COMPILE_OPT
statement in your program module:

PRO JUNK
Compile_Opt defint32

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: how to speed up multiple regressions?
Next Topic: % Loop limit expression too large for loop variable type.

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

Current Time: Wed Oct 08 11:34:44 PDT 2025

Total time taken to generate the page: 0.00563 seconds