SCONV_NONPERIODIC(3dxml) — Subroutines
Name
sconv_nonperiodic, dconv_nonperiodic, cconv_nonperiodic, zconv_nonperiodic − Nonperiodic convolution
FORMAT
{S,D,C,Z}CONV_NONPERIODIC (x, y, out, nx, ny, status)
Arguments
xreal∗4 | real∗8 | complex∗8 | complex∗16
On entry, an array containing the data to be convolved.
On exit, x is unchanged.
yreal∗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.
outreal∗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.
nxinteger∗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.
nyinteger∗4
On entry, the length of the array containing the convolution function; ny > 0.
On exit, ny is unchanged.
statusinteger∗4
status = 0 : DXML_SUCCESS()
status = 8 : DXML_ILL_N_RANGE()
Description
The _CONV_NONPERIODIC routines compute the nonperiodic convolution of two arrays using a discrete summing technique.
Example
INCLUDE ’{file_location}DXMLDEF.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.