### 13 Loop a specified number of times

Suppose that you want to loop a specified number of times. For this you need a while statement, as in this example.

set count = 1
set tempin = myndf
set box = 23
while ($count < 5) @ box =$box - $count * 2 block in=$tempin out=tempndf box=$box mv tempndf.sdf myndf_sm4.sdf set tempin = myndf_sm4 @ count =$count + 1
end

This performs four block smoothing operations, with a decreasing box size, on a NDF called myndf, the final result being stored in the NDF called myndf_sm4. The while statement tests a conditional statement and loops if it is true. So here it loops whenever the value of count is less than 5. For a list of the available operators see Section 10.1 or the man pages.

% man csh
/Expressions

The box size for the smoothing is evaluated in an expression @ box = $box -$count * 2. Note the space between the @ and the variable, and the spaces around the =. Thus the box sizes will be 21, 17, 11, 3. Further details are in Section 10.1. You should also give the variable a value with set before assigning it an expression. Another expression increments the counter count. The NDF called tempndf is overwritten for each smooth using the standard UNIX command mv.