static void dradbg(int ido,int ip,int l1,int idl1,float[] cc,float[] c1,
float[] c2,float[] ch,float[] ch2,float[] wa, int index )
{
int idij,ipph=0,i,j,k,l,ik,iis,t0=0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10=0,
t11,t12;
float dc2,ai1,ai2,ar1,ar2,ds2;
int nbd=0;
float dcp=0,arg,dsp=0,ar1h,ar2h;
int ipp2=0;
t10=ip*ido;
t0=l1*ido;
arg=tpi/(float)ip;
dcp=(float)Math.Cos(arg);
dsp=(float)Math.Sin(arg);
nbd=(int)((uint)(ido-1)>>1);
ipp2=ip;
ipph=(int)((uint)(ip+1)>>1);
if(ido<l1) goto L103;
t1=0;
t2=0;
for(k=0;k<l1;k++)
{
t3=t1;
t4=t2;
for(i=0;i<ido;i++)
{
ch[t3]=cc[t4];
t3++;
t4++;
}
t1+=ido;
t2+=t10;
}
goto L106;
L103: t1=0;
for(i=0;i<ido;i++)
{
t2=t1;
t3=t1;
for(k=0;k<l1;k++)
{
ch[t2]=cc[t3];
t2+=ido;
t3+=t10;
}
t1++;
}
L106: t1=0;
t2=ipp2*t0;
t7=(t5=ido<<1);
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
t6=t5;
for(k=0;k<l1;k++)
{
ch[t3]=cc[t6-1]+cc[t6-1];
ch[t4]=cc[t6]+cc[t6];
t3+=ido;
t4+=ido;
t6+=t10;
}
t5+=t7;
}
if (ido == 1) goto L116;
if(nbd<l1) goto L112;
t1=0;
t2=ipp2*t0;
t7=0;
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
t7+=(ido<<1);
t8=t7;
for(k=0;k<l1;k++)
{
t5=t3;
t6=t4;
t9=t8;
t11=t8;
for(i=2;i<ido;i+=2)
{
t5+=2;
t6+=2;
t9+=2;
t11-=2;
ch[t5-1]=cc[t9-1]+cc[t11-1];
ch[t6-1]=cc[t9-1]-cc[t11-1];
ch[t5]=cc[t9]-cc[t11];
ch[t6]=cc[t9]+cc[t11];
}
t3+=ido;
t4+=ido;
t8+=t10;
}
}
goto L116;
L112: t1=0;
t2=ipp2*t0;
t7=0;
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
t7+=(ido<<1);
t8=t7;
t9=t7;
for(i=2;i<ido;i+=2)
{
t3+=2;
t4+=2;
t8+=2;
t9-=2;
t5=t3;
t6=t4;
t11=t8;
t12=t9;
for(k=0;k<l1;k++)
{
ch[t5-1]=cc[t11-1]+cc[t12-1];
ch[t6-1]=cc[t11-1]-cc[t12-1];
ch[t5]=cc[t11]-cc[t12];
ch[t6]=cc[t11]+cc[t12];
t5+=ido;
t6+=ido;
t11+=t10;
t12+=t10;
}
}
}
L116: ar1=1.0f;
ai1=0.0f;
t1=0;
t9=(t2=ipp2*idl1);
t3=(ip-1)*idl1;
for(l=1;l<ipph;l++)
{
t1+=idl1;
t2-=idl1;
ar1h=dcp*ar1-dsp*ai1;
ai1=dcp*ai1+dsp*ar1;
ar1=ar1h;
t4=t1;
t5=t2;
t6=0;
t7=idl1;
t8=t3;
for(ik=0;ik<idl1;ik++)
{
c2[t4++]=ch2[t6++]+ar1*ch2[t7++];
c2[t5++]=ai1*ch2[t8++];
}
dc2=ar1;
ds2=ai1;
ar2=ar1;
ai2=ai1;
t6=idl1;
t7=t9-idl1;
for(j=2;j<ipph;j++)
{
t6+=idl1;
t7-=idl1;
ar2h=dc2*ar2-ds2*ai2;
ai2=dc2*ai2+ds2*ar2;
ar2=ar2h;
t4=t1;
t5=t2;
t11=t6;
t12=t7;
for(ik=0;ik<idl1;ik++)
{
c2[t4]+=ar2*ch2[t11++];
t4++;
c2[t5]+=ai2*ch2[t12++];
t5++;
}
}
}
t1=0;
for(j=1;j<ipph;j++)
{
t1+=idl1;
t2=t1;
for(ik=0;ik<idl1;ik++)ch2[ik]+=ch2[t2++];
}
t1=0;
t2=ipp2*t0;
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
for(k=0;k<l1;k++)
{
ch[t3]=c1[t3]-c1[t4];
ch[t4]=c1[t3]+c1[t4];
t3+=ido;
t4+=ido;
}
}
if(ido==1) goto L132;
if(nbd<l1) goto L128;
t1=0;
t2=ipp2*t0;
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
for(k=0;k<l1;k++)
{
t5=t3;
t6=t4;
for(i=2;i<ido;i+=2)
{
t5+=2;
t6+=2;
ch[t5-1]=c1[t5-1]-c1[t6];
ch[t6-1]=c1[t5-1]+c1[t6];
ch[t5]=c1[t5]+c1[t6-1];
ch[t6]=c1[t5]-c1[t6-1];
}
t3+=ido;
t4+=ido;
}
}
goto L132;
L128: t1=0;
t2=ipp2*t0;
for(j=1;j<ipph;j++)
{
t1+=t0;
t2-=t0;
t3=t1;
t4=t2;
for(i=2;i<ido;i+=2)
{
t3+=2;
t4+=2;
t5=t3;
t6=t4;
for(k=0;k<l1;k++)
{
ch[t5-1]=c1[t5-1]-c1[t6];
ch[t6-1]=c1[t5-1]+c1[t6];
ch[t5]=c1[t5]+c1[t6-1];
ch[t6]=c1[t5]-c1[t6-1];
t5+=ido;
t6+=ido;
}
}
}
L132: if(ido==1)return;
for(ik=0;ik<idl1;ik++)c2[ik]=ch2[ik];
t1=0;
for(j=1;j<ip;j++)
{
t2=(t1+=t0);
for(k=0;k<l1;k++)
{
c1[t2]=ch[t2];
t2+=ido;
}
}
if(nbd>l1) goto L139;
iis= -ido-1;
t1=0;
for(j=1;j<ip;j++)
{
iis+=ido;
t1+=t0;
idij=iis;
t2=t1;
for(i=2;i<ido;i+=2)
{
t2+=2;
idij+=2;
t3=t2;
for(k=0;k<l1;k++)
{
c1[t3-1]=wa[index+idij-1]*ch[t3-1]-wa[index+idij]*ch[t3];
c1[t3]=wa[index+idij-1]*ch[t3]+wa[index+idij]*ch[t3-1];
t3+=ido;
}
}
}
return;
L139: iis= -ido-1;
t1=0;
for(j=1;j<ip;j++)
{
iis+=ido;
t1+=t0;
t2=t1;
for(k=0;k<l1;k++)
{
idij=iis;
t3=t2;
for(i=2;i<ido;i+=2)
{
idij+=2;
t3+=2;
c1[t3-1]=wa[index+idij-1]*ch[t3-1]-wa[index+idij]*ch[t3];
c1[t3]=wa[index+idij-1]*ch[t3]+wa[index+idij]*ch[t3-1];
}
t2+=ido;
}
}
}