subroutine dftrny(m,n,f,idf,ws) c integer m,n,idf double precision f(idf,*) double precision ws(*) c c performs m sine transforms. the transform is unscaled. c note that this transform must be scaled up by a factor c two in order to correspond to the transform described c in chapter 4.2 of "numerical solution of the biharmonic c equation." c n should be odd. (when dsint is called.) c workspace ws must have at least int(3.5*n+16) elements. c c local. c c fourier: dsinti, dsint (swarztrauber version 3.) c blas: dcopy c integer i c call dsinti(n,ws(n+2)) do 500 i =1,m call dcopy(n,f(i,1),idf,ws,1) call dsint(n,ws,ws(n+2)) call dcopy(n,ws,1,f(i,1),idf) 500 continue return end