Print

Print


Yeh, do the work inside the "do ii=1,i-lb+ub" loop.  Well, when you  
start doing complicated stuff, you do work all over the place :)

There isn't a need to do the k=1 iteration... you are always putting  
inc(1)=lb(1) anyway.

Stu.


On 23/06/2005, at 10:55, Aleksandar Donev wrote:

> Stuart Midgley wrote:
>
>
>>     inc = lb1
>>
>>   do while (ii <= imax)
>>
>
> ! Do the actual work in here
>
>
>> do k = 2, ndims
>>         inc(k) = inc(k) + 1
>>         if (inc(k) <= ub2(k)) exit
>>         inc(k) = lb1(k)
>>      end do
>>   end do
>>
>
>
>> end do
>>
>
> This is the same basic trick that Yasuki Arasaki sent (you use  
> k=2,ndims instead of k=1,ndims?). I am guessing it an idiom known  
> to compiler folks who need to flatten out loop nests? It seems too  
> cute to be a coincidence you both offered the same solution...
> Thanks,
> Aleksandar
>
>


--
Dr Stuart Midgley
Industry Uptake Program Leader
iVEC, 'The hub of advanced computing in Western Australia'
26 Dick Perry Avenue, Technology Park
Kensington WA 6151
Australia

Phone: +61 8 6436 8545
Fax: +61 8 6436 8555
Email: [log in to unmask]
WWW:  http://www.ivec.org