Countable Loops (C Only)

A loop is considered to be countable if it has any of the forms shown below, and:

The following are examples of countable loops.

for ([iv]; exit_cond; incr_expr)
 statement
for ([iv]; exit_cond; [expr] {
    [declaration_list]
    [statement_list]
    incr_expr;
    [statement_list]
}
while (exit_cond) {
    [declaration_list]
    [statement_list]
    incr_expr;
    [statement_list]
}   
do {
    [declaration_list]
    [statement_list]
    incr_expr;
    [statement_list]
} while (exit_cond)

 

The following definitions apply to the above examples:

exit_cond
takes form:
iv <= ub
iv <  ub
iv >= ub
iv >  ub
incr_expr
takes form:
++iv
iv++
--iv
iv--
iv += incr 
iv -= incr
iv = iv + incr
iv = incr + iv
iv = iv - incr
iv
Iteration variable. The iteration variable is a signed integer that has either automatic or register storage class, does not have its address taken, and is not modified anywhere in the loop except in incr_expr.
incr
Loop invariant signed integer expression. The value of the expression is known at run-time and is not 0. incr cannot reference extern or static variables, pointers or pointer expressions, function calls, or variables that have their address taken.
ub
Loop invariant signed integer expression. ub cannot reference extern or static variables, pointers or pointer expressions, function calls, or variables that have their address taken.


Program Parallelization
Shared and Private Variables in a Parallel Environment
Reduction Operations in Parallelized Loops


Control Parallel Processing with Pragmas


#pragma Preprocessor Directives for Parallel Processing