The interface for plstyl in sfstubsf95.f90 is currently:
861 interface
862 subroutine plstyl( n, mark, space )
863 integer :: n, mark, space
864 end subroutine plstyl
865 end interface
However, it should take arrays for mark and space, so I think it should be either:
interface
subroutine plstyl( n, mark, space )
integer :: n
integer, dimension(n) :: mark, space
end subroutine plstyl
end interface
or (better) provide a wrapper so that is appeas to be
interface
subroutine plstyl(mark, space )
integer, dimension(:) :: mark, space
end subroutine plstyl
end interface
Oops, that is a mistake indeed. Thanks for spotting this one.
I prefer the wrapper, as this is in line with the philosophy used in the
other interfaces.
Hm, the examples use a scalar version of this routine. So, it should be an
interface that allows both forms.
I think the wrapper is the proper way to go, but I was concerned that just having that would break existing codes. OTOH using e.g.
draw = [1000, 100, 100]
move = [900,900,900]
call plsytl(3, draw(1), move(1))
definitely looks cludgy, so maybe there aren't too many codes outside the examples using it.