swh:1:snp:81eadaa089e8253d8469bcef66aa332632c6c669
Tip revision: fdf16693b000f3e309c56091892c61f0ec9fd670 authored by Hans W. Borchers on 21 November 2017, 16:15:00 UTC
version 2.1.1
version 2.1.1
Tip revision: fdf1669
conv.R
##
## c o n v . R Polynomial Convolution
##
conv <- function(x, y) {
if ( (!is.vector(x, mode="numeric") && !is.vector(x, mode="complex")) ||
(!is.vector(y, mode="numeric") && !is.vector(y, mode="complex")) )
stop("Arguments 'x' and 'y' must be real or complex vectors.")
lx <- length(x)
ly <- length(y)
n <- lx + ly - 1
z <- fft(fft(c(x, rep(0, n - lx))) * fft(c(y, rep(0, n - ly))),
inverse = TRUE) / n
if (is.numeric(x) && is.numeric(y))
z <- Re(z)
return(z)
}