public double code(int nodeInx, double[] codingDist) { double obsProb = codingDist[ Integer.parseInt( SV.get(nodeInx).obs(), SV.get(nodeInx) .r)]; // find out what was observed and record its probability for rate // calulation // System.out.println("OBSERVED: "+SV.get(nodeInx).obs()+" // "+Integer.parseInt(SV.get(nodeInx).obs(),SV.get(nodeInx).r)); // System.out.println(SV.get(nodeInx).V.size()+" nodes in supernode"); return Coder.log2_1overpx(obsProb) / (double) SV.get(nodeInx) .V .size(); // return rate calculation (shannon-fano to code i.e. log_2(1/p(x))) }