public void signalSel(int fn) {
     for (int i = 0; i < 256; i++) {
       totFreqs[i] = totFreqs[i] + freqs[fn][i];
     }
     fCost = new int[freqs.length];
    for (int i2 = 0; i2 < freqs.length; i2 ++) {
      freqs[i2] = new int[256];
    }
     if (! enCalc) {
       fCost = new int[freqs.length];
     }
     passedZones ++;
     if (! enCalc && (passedZones == zoneLim)) {
       fillCosts();
       if (zoneLim < 1000) { zoneLim = zoneLim << 1; } else {
         zoneLim += 1000;
       }
     }
     if (enCalc && (passedZones == enZoneLim)) {
       remEnCalc();
     }
   }