if know rank and/or size of array being passed function or subroutine, there reason use assumed-shape or assumed-size array? example, if can replace
function f(a,m,n)    real,dimension(*),intent(inout) ::    ! ... end function with
function f(a,m,n)     real,dimension(m,n),intent(inout) ::     ! ... end function is there reason (in fortran 90 or later) not so?
too long comment, not of answer ...
this
function f(a,m,n)     real,dimension(m,n),intent(inout) ::     ! ... end function does not make a assumed-shape array, has explicit shape (m,n).  these days write
function f(a)     real,dimension(:,:),intent(inout) ::     ! ... end function in version a assumed-shape.  on (increasingly) rare occasions need size or shape of array inside procedure writing shape(a) or suchlike.
finally, answer op's question, refer assumed size arrays: colon vs. asterisk - dimension(:) arr vs. arr(*)
Comments
Post a Comment