Most Efficient Way To Initialize Variables.
Say one has the following variable:
doubleprecision, dimension(6,10000) :: dblResults = 0.0d0
Every analysis cycle one needs to re-zero the dblResults array. The first dimension of 6 is always used to its full extent. The second dimension is “number of members” and is set at 10000 as an upper limit that should never be reached. Assume in this run of the analysis the first 100 positions of the second dimension are actually used, i.e. intNumMem = 100
! which of the following options runs fastest to re-zero the dblResults array for the next analysis cycle and is the preferred way to write the code. (Or is there yet a different and even better way to re-zero the array?)
! option 1
dblResults = 0.0d0
! option 2
dblResults(1:6, 1:intNumMem) = 0.0d0
! option 3
do i = 1, 6
do j = 1, intNumMem
dblResults (i, j) = 0.0d0
end do
end do
! option 4
forall (i=1:6, j=1,intNumMem)
dblResults(i, j) = 0.0d0
end forall
Thank you very much in advance for your comments.
Bob