public void init(final int D, final int N, final float W_re[], final float W_im[])
public void init(final int D, final int N, final float W_re5[], final float W_im5[])
  public void init(final int D, final int N, final float W_re[], final float W_im[])   {    /* the length of a butterfly group in terms of points */     final int grplen = D + D;      /* the number of bfly groups and bflies per group */     final int numgrps = N/grplen;     final int numbflies = D;     float w_re, w_im;     /* assertions for the last fft stage */     //ASSERT(numgrps==N/2 && numbflies==1);     /* The splitjoin routes the complex points "grplen" each to/from the constituent bflygrps. */    this.setSplitter(ROUND_ROBIN(2*grplen));     /* for each butterfly group in this stage */    for (int g=0; g<numgrps; g++)     {      /* see ComputeStage class for details on indexing W[] */        w_re = W_re[g];        w_im = W_im[g];       /* bflygrp of the last fft stage is simply a bfly */       this.add(new Butterfly(w_re, w_im));    }      this.setJoiner(ROUND_ROBIN(2*grplen));   }  