code: function inxbuild() {
      var i, j, p, q, smallpos, smallval, previouscol = 0, startpos = 0;
      for (i = 0; i < netsize; i++) {
        p = network[i];
        smallpos = i;
        smallval = p[1]; // index on g
        // find smallest in i..netsize-1
        for (j = i + 1; j < netsize; j++) {
          q = network[j];
          if (q[1] < smallval) { // index on g
            smallpos = j;
            smallval = q[1]; // index on g
          }
        }
        q = network[smallpos];
        // swap p (i) and q (smallpos) entries
        if (i != smallpos) {
          j = q[0];   q[0] = p[0];   p[0] = j;
          j = q[1];   q[1] = p[1];   p[1] = j;
          j = q[2];   q[2] = p[2];   p[2] = j;
          j = q[3];   q[3] = p[3];   p[3] = j;
        }
        // smallval entry is now in position i
  
        if (smallval != previouscol) {
          netindex[previouscol] = (startpos + i) >> 1;
          for (j = previouscol + 1; j < smallval; j++)
            netindex[j] = i;
          previouscol = smallval;
          startpos = i;
        }
      }
      netindex[previouscol] = (startpos + maxnetpos) >> 1;
      for (j = previouscol + 1; j < 256; j++)
        netindex[j] = maxnetpos; // really 256
    }
docs: /*
  Private Method: inxbuild
  
  sorts network and builds netindex[0..255]