public Delta(FeatureFactory factory, int start, int end, Instance segmentInstance) { for (Iterator<Feature> i = featureSet(start, end, segmentInstance).iterator(); i.hasNext(); ) { Feature f = i.next(); // replace the feature with its canonical version, so // that variant versions are not stored in the // deltaWeight, zeroWeights hash tables f = factory.getFeature(f); double segmentWeight = segmentInstance.getWeight(f); if (segmentWeight == 0) zeroWeights.add(f); else { double sumWeight = getSumWeight(start, end, f); if (segmentWeight != sumWeight) deltaWeight.put(f, segmentWeight - sumWeight); } } /* System.out.println("segmentInstance: "+segmentInstance); System.out.println("deltaInstance: "+new DeltaInstance(start,end,this, segmentInstance.getSource(), segmentInstance.getSubpopulationId())); */ }
private void addAll(Set<Feature> s, Iterator<Feature> i) { while (i.hasNext()) s.add(i.next()); }