{S,D,C,Z}CONV_NONPERIODIC (x, y, out, nx, ny, status)
x real*4 | real*8 | complex*8 | complex*16 On entry, an array containing the data to be convolved. On exit, x is unchanged. y real*4 | real*8 | complex*8 | complex*16 On entry, an array containing the convolution or "filter" function which is to be convolved with the data from the X array. On exit, y is unchanged. out real*4 | real*8 | complex*8 | complex*16 On entry, a one-dimensional array OUT of length nx + ny - 1. On exit, out contains the convolved data. nx integer*4 On entry, the number of values to be convolved, that is, the length of the X array; nx > 0. On exit, nx is unchanged. ny integer*4 On entry, the length of the array containing the convolution function; ny > 0. On exit, ny is unchanged. status integer*4 status = 0 :DXML_SUCCESS() status = 8 :DXML_ILL_N_RANGE()
The _CONV_NONPERIODIC routines compute the nonperiodic convolution of two arrays using a discrete summing technique.
INCLUDE 'CXMLDEF.FOR' INTEGER*4 N_F, N_M, STATUS REAL*4 A(500), B(15000), C(15499) N_A = 500 N_B = 15000 CALL SCONV_NONPERIODIC(A,B,C,N_A,N_B,STATUS) This FORTRAN code computes the nonperiodic convolution of two vectors of real numbers, a and b, with lengths of 500 and 15000, respectively. The result is stored in c with length of 15499.