Is there a way to set an array (vector, or matrix, or even a scalar) to zero yet in Fortran? 2003/2008 seem to be taking Fortran to a very modern level, and I have to wonder if they have included an easy way to set array values to zero without having to do
do i = 1,X
do j = 1,Y
A(i,j) = 0
enddo
enddo
Where X is the number of rows and Y is the number of columns in a 2-d matrix. This could be generalized to as many dimensions as you like, but the principle is the same.
In Matlab this is easily done with the zeros function, i.e.,
A = zeros(X,Y)
Modern Fortran seems to be incorporating a lot of the things people like about Matlab and other languages into it's repertoire, so I am just curious if they have an intrinsic for this simple and basic task yet.
Or maybe in modern Fortran it isn't necessary to clear out any previously stored values in the memory by initializing arrays?
I guess a shorter way would be to just go
real, dimension(X,Y) :: A
A = A*0.0 ! Set all elements to zero by multiplying matrix by scalar value 0
But the question about an intrinsic still stands.
It turns out the answer is quite simple.
A = 0.0
or just
A = 0
will set all elements in your array to 0.0000...
(Moved from the question.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With