public static Complex[] convolve(Complex[] x,Complex[] y){
  Complex[] a=new Complex[2 * x.length];
  for (int i=0; i < x.length; i++)   a[i]=x[i];
  for (int i=x.length; i < 2 * x.length; i++)   a[i]=ZERO;
  Complex[] b=new Complex[2 * y.length];
  for (int i=0; i < y.length; i++)   b[i]=y[i];
  for (int i=y.length; i < 2 * y.length; i++)   b[i]=ZERO;
  return cconvolve(a,b);
}

public static Complex [ ] convolve ( Complex [ ] x , Complex [ ] y ) { Complex [ ] a = new Complex [ 2 * x . length ] ; for ( int i = 0 ; i < x . length ; i ++ ) a [ i ] = x [ i ] ; for ( int i = x . length ; i < 2 * x . length ; i ++ ) a [ i ] = ZERO ; Complex [ ] b = new Complex [ 2 * y . length ] ; for ( int i = 0 ; i < y . length ; i ++ ) b [ i ] = y [ i ] ; for ( int i = y . length ; i < 2 * y . length ; i ++ ) b [ i ] = ZERO ; return cconvolve ( a , b ) ; }
returns the linear convolution of the two specified complex arrays .
