INCLAN: do: Difference between revisions

From CYANA Wiki
Jump to navigation Jump to search
Line 12: Line 12:
== Description ==
== Description ==


Executes a loop within a macro. Without parameters the loop is executed unconditionally, i.e. until one of the statements [[INCLAN: break|break]], [[INCLAN: exit|exit]], [[INCLAN: quit|quit]] or [[INCLAN: return|return]] is encountered.  
Executes a loop within a macro. Without parameters the loop is executed unconditionally, i.e. until one of the statements [[INCLAN: break|'''break''']], [[INCLAN: exit|'''exit''']], [[INCLAN: quit|'''quit''']] or [[INCLAN: return|'''return''']] is encountered.  


'''do''' followed by parameters executes a FORTRAN-style do-loop within a macro. The loop counter ''variable'' and the integer expressions ''start'', ''end'', and ''step'' have the usual meaning. Parallel loops are executed in parallel on [[INCLAN: nproc|nproc]] processors.  
'''do''' followed by parameters executes a FORTRAN-style do-loop within a macro. The loop counter ''variable'' and the integer expressions ''start'', ''end'', and ''step'' have the usual meaning. Parallel loops are executed in parallel on [[INCLAN: nproc|nproc]] processors.  

Revision as of 14:55, 13 August 2009

Synopsis

do

...

end do

do variable start end [step] [parallel [continue]]

...

end do

Description

Executes a loop within a macro. Without parameters the loop is executed unconditionally, i.e. until one of the statements break, exit, quit or return is encountered.

do followed by parameters executes a FORTRAN-style do-loop within a macro. The loop counter variable and the integer expressions start, end, and step have the usual meaning. Parallel loops are executed in parallel on nproc processors.

If the keyword continue is present, the program continues immediately with the execution of the next statement after the parallel loop. Otherwise, the next statement after the loop is executed when the parallel loop is finished.

Examples

do
  if (filename.eq.' ') break
    .
    .
end do
do i 1 10
  print "Iteration $i."
end do

See also

nproc