conv <- function ( a , b ) .C( "convolve" , as.double ( a ) , as.integer ( length ( a ) ) , as.double ( b ) , as.integer ( length ( b ) ) , ab = double ( length ( a ) + length ( b ) - 1) )$ab dyn.load("convolve.so") is.loaded("convolve") conv(1:10,1:10)