The GA Procedure

Dynamic_array Call

allocates a numeric array

call Dynamic_array( arrayname, dim1<, dim2, ..., dim6> );

The inputs to the Dynamic_array call are as follows:

arraynameis a previously declared array, whose dimensions are to be re-allocated.
dim1is the size of the first dimension.
dim2,...,dim6        are optional. Up to six dimensions can be specified.

The Dynamic_array call is normally used to allocate working arrays when the required size of the array is data-dependent. It is often useful in user routines for genetic operators or objective functions to avoid hard-coding array dimensions that might depend on segment length or population size. The array to be allocated must first be declared in an ARRAY statement with the expected number of dimensions, as in the following example:

  
    subroutine sub(nx, ny); 
       array x[1] /nosym; 
       call dynamic_array(x, nx); 
       array xy[1,1] /nosym; 
       call dynamic_array(xy, nx, ny); 
       ...
 

Previous Page | Next Page | Top of Page