大神帮我看看这个FFT函数(java)的输入和输出都是什么

我对FFT只是了解概念,所以这个函数看不大懂,麻烦各位了。

static void fft(double x[],double y[],int n,int sign)
{
int i,j,k,l,m=0,n1,n2;
double c,c1,e,s,s1,t,tr,ti;
for(j=i=1;i<16;i++)
{
m=i;
j=2*j;
if(j==n)
{
break;
}
}

    for(n1=n-1,j=0,i=0;i<n1;i++)
    {
        if(i<j)
        {
            tr=x[j];
            ti=y[j];
            x[j]=x[i];
            y[j]=y[i];
            x[i]=tr;
            y[i]=ti;
        }
        k=n/2;
        while(k<(j+1))
        {
            j=j-k;
            k=k/2;
        }
        j=j+k;
    }

    for(n1=l=1;l<=m;l++)
    {
        n1=2*n1;
        n2=n1/2;
        e=3.14159265359/n2;
        c=1.0;
        s=0.0;
        c1=Math.cos(e);
        s1=-sign*Math.sin(e);
        for(j=0;j<n2;j++)
        {

            for(i=j;i<n;i+=n1)
            {
                k=i+n2;
                tr=c*x[k]-s*y[k];
                ti=c*y[k]+s*x[k];
                x[k]=x[i]-tr;
                y[k]=y[i]-ti;
                x[i]=x[i]+tr;
                y[i]=y[i]+ti;
            }
            t=c;
            c=c*c1-s*s1;
            s=t*s1+s*c1;
        }
    }
    if(sign==-1)
    {
        for(i=0;i<n;i++)
        {
            x[i]/=n;
            y[i]/=n;
        }
    }
}

这种输出是什么的问题,为什么不自己运行一下呢