subroutine spmtv(M,N,S,x,r,v,a,b) implicit none integer, intent(in)::M,N,S integer,dimension(N+1),intent(in)::x integer,dimension(S),intent(in)::r real,dimension(S),intent(in)::v real,dimension(M),intent(in)::a real,dimension(N),intent(out)::b !*** integer i,j,k real t !*** if(S0)t=t+v(k)*a(j) enddo b(i)=t enddo end subroutine spmtv