module tcai1 { # Transient Convolution Adjoint Input 1-D. yy(m1+n1) real, dimension (:), pointer :: bb integer :: nx #% _init( bb, nx) #% _lop ( xx, yy) integer b, x, y if( size(yy) < nx + size(bb) - 1 ) call erexit('tcai') do b= 1, size(bb) { do x= 1, nx { y = x + b - 1 if( adj) xx(x) += yy(y) * bb(b) else yy(y) += xx(x) * bb(b) }} }