module hypotenuse { # Normal moveout real :: t0, dt, xs #% _init( t0, dt, xs) #% _lop( zz, tt) integer it, iz real t, zsquared do it= 1, size(tt) { t = t0 + dt*(it-1) zsquared = t * t - xs * xs if ( zsquared >= 0.) { iz = 1.5 + (sqrt( zsquared) - t0) /dt if ( iz > 0 ) { if( adj) zz(iz) += tt(it) else tt(it) += zz(iz) } } } }