@Override public void elementStart(String type, Attributes attrs) { accu[0] += objectOverhead + computeCost(type) + computeCost(attrs); }
/** * The objectOverhead is a parameter that affects how expensive elements and * annotation boundaries are relative to characters. */ public static DocumentCostFunction withObjectOverhead(int objectOverhead) { return new DocumentCostFunction(objectOverhead); }
public int computeCost(AnnotationBoundaryMap map) { int accu = 0; for (int i = 0; i < map.changeSize(); i++) { accu += objectOverhead + computeCost(map.getChangeKey(i)) + computeCostNullable(map.getOldValue(i)) + computeCostNullable(map.getNewValue(i)); } for (int i = 0; i < map.endSize(); i++) { accu += objectOverhead + computeCost(map.getEndKey(i)); } return accu; }
@Override public void annotationBoundary(AnnotationBoundaryMap map) { accu[0] += objectOverhead + computeCost(map); }
@Override public void characters(String chars) { accu[0] += objectOverhead + computeCost(chars); }
public int computeCostNullable(String s) { return s == null ? 0 : computeCost(s); }
public int computeCost(Attributes attrs) { int accu = 0; for (Map.Entry<String, String> attr : attrs.entrySet()) { accu += objectOverhead + computeCost(attr.getKey()) + computeCost(attr.getValue()); } return accu; }
public void testComputeStringCost() { assertEquals(0, f1.computeCost(S0)); assertEquals(1, f1.computeCost(S1A)); assertEquals(1, f1.computeCost(S1B)); assertEquals(2, f1.computeCost(S2)); assertEquals(10, f1.computeCost(S10)); }
public void testComputeStringCost() { assertEquals(0, f1.computeCost(S0)); assertEquals(1, f1.computeCost(S1A)); assertEquals(1, f1.computeCost(S1B)); assertEquals(2, f1.computeCost(S2)); assertEquals(10, f1.computeCost(S10)); }
public void testComputeAnnotationBoundaryMapCost() { assertEquals( 0, f0.computeCost(ANN0_0)); assertEquals( 0, f0.computeCost(ANN1_0A)); assertEquals( 0, f0.computeCost(ANN1_0B)); assertEquals( 1, f0.computeCost(ANN2_1)); assertEquals( 3, f0.computeCost(ANN2_3)); assertEquals(13, f0.computeCost(ANN2_13)); assertEquals( 0, f1.computeCost(ANN0_0)); assertEquals( 1, f1.computeCost(ANN1_0A)); assertEquals( 1, f1.computeCost(ANN1_0B)); assertEquals( 3, f1.computeCost(ANN2_1)); assertEquals( 5, f1.computeCost(ANN2_3)); assertEquals(15, f1.computeCost(ANN2_13)); assertEquals( 0, f2.computeCost(ANN0_0)); assertEquals( 2, f2.computeCost(ANN1_0A)); assertEquals( 2, f2.computeCost(ANN1_0B)); assertEquals( 5, f2.computeCost(ANN2_1)); assertEquals( 7, f2.computeCost(ANN2_3)); assertEquals(17, f2.computeCost(ANN2_13)); assertEquals( 0, f12.computeCost(ANN0_0)); assertEquals(12, f12.computeCost(ANN1_0A)); assertEquals(12, f12.computeCost(ANN1_0B)); assertEquals(25, f12.computeCost(ANN2_1)); assertEquals(27, f12.computeCost(ANN2_3)); assertEquals(37, f12.computeCost(ANN2_13)); }
public void testComputeAnnotationBoundaryMapCost() { assertEquals( 0, f0.computeCost(ANN0_0)); assertEquals( 0, f0.computeCost(ANN1_0A)); assertEquals( 0, f0.computeCost(ANN1_0B)); assertEquals( 1, f0.computeCost(ANN2_1)); assertEquals( 3, f0.computeCost(ANN2_3)); assertEquals(13, f0.computeCost(ANN2_13)); assertEquals( 0, f1.computeCost(ANN0_0)); assertEquals( 1, f1.computeCost(ANN1_0A)); assertEquals( 1, f1.computeCost(ANN1_0B)); assertEquals( 3, f1.computeCost(ANN2_1)); assertEquals( 5, f1.computeCost(ANN2_3)); assertEquals(15, f1.computeCost(ANN2_13)); assertEquals( 0, f2.computeCost(ANN0_0)); assertEquals( 2, f2.computeCost(ANN1_0A)); assertEquals( 2, f2.computeCost(ANN1_0B)); assertEquals( 5, f2.computeCost(ANN2_1)); assertEquals( 7, f2.computeCost(ANN2_3)); assertEquals(17, f2.computeCost(ANN2_13)); assertEquals( 0, f12.computeCost(ANN0_0)); assertEquals(12, f12.computeCost(ANN1_0A)); assertEquals(12, f12.computeCost(ANN1_0B)); assertEquals(25, f12.computeCost(ANN2_1)); assertEquals(27, f12.computeCost(ANN2_3)); assertEquals(37, f12.computeCost(ANN2_13)); }
public void testComputeAttributesCost() { assertEquals( 0, f0.computeCost(ATTR0_0)); assertEquals( 1, f0.computeCost(ATTR1_1)); assertEquals( 2, f0.computeCost(ATTR1_2A)); assertEquals( 2, f0.computeCost(ATTR1_2B)); assertEquals( 2, f0.computeCost(ATTR2_2)); assertEquals( 3, f0.computeCost(ATTR2_3)); assertEquals(12, f0.computeCost(ATTR2_12)); assertEquals( 0, f1.computeCost(ATTR0_0)); assertEquals( 2, f1.computeCost(ATTR1_1)); assertEquals( 3, f1.computeCost(ATTR1_2A)); assertEquals( 3, f1.computeCost(ATTR1_2B)); assertEquals( 4, f1.computeCost(ATTR2_2)); assertEquals( 5, f1.computeCost(ATTR2_3)); assertEquals(14, f1.computeCost(ATTR2_12)); assertEquals( 0, f2.computeCost(ATTR0_0)); assertEquals( 3, f2.computeCost(ATTR1_1)); assertEquals( 4, f2.computeCost(ATTR1_2A)); assertEquals( 4, f2.computeCost(ATTR1_2B)); assertEquals( 6, f2.computeCost(ATTR2_2)); assertEquals( 7, f2.computeCost(ATTR2_3)); assertEquals(16, f2.computeCost(ATTR2_12)); assertEquals( 0, f12.computeCost(ATTR0_0)); assertEquals(13, f12.computeCost(ATTR1_1)); assertEquals(14, f12.computeCost(ATTR1_2A)); assertEquals(14, f12.computeCost(ATTR1_2B)); assertEquals(26, f12.computeCost(ATTR2_2)); assertEquals(27, f12.computeCost(ATTR2_3)); assertEquals(36, f12.computeCost(ATTR2_12)); }
public void testComputeAttributesCost() { assertEquals( 0, f0.computeCost(ATTR0_0)); assertEquals( 1, f0.computeCost(ATTR1_1)); assertEquals( 2, f0.computeCost(ATTR1_2A)); assertEquals( 2, f0.computeCost(ATTR1_2B)); assertEquals( 2, f0.computeCost(ATTR2_2)); assertEquals( 3, f0.computeCost(ATTR2_3)); assertEquals(12, f0.computeCost(ATTR2_12)); assertEquals( 0, f1.computeCost(ATTR0_0)); assertEquals( 2, f1.computeCost(ATTR1_1)); assertEquals( 3, f1.computeCost(ATTR1_2A)); assertEquals( 3, f1.computeCost(ATTR1_2B)); assertEquals( 4, f1.computeCost(ATTR2_2)); assertEquals( 5, f1.computeCost(ATTR2_3)); assertEquals(14, f1.computeCost(ATTR2_12)); assertEquals( 0, f2.computeCost(ATTR0_0)); assertEquals( 3, f2.computeCost(ATTR1_1)); assertEquals( 4, f2.computeCost(ATTR1_2A)); assertEquals( 4, f2.computeCost(ATTR1_2B)); assertEquals( 6, f2.computeCost(ATTR2_2)); assertEquals( 7, f2.computeCost(ATTR2_3)); assertEquals(16, f2.computeCost(ATTR2_12)); assertEquals( 0, f12.computeCost(ATTR0_0)); assertEquals(13, f12.computeCost(ATTR1_1)); assertEquals(14, f12.computeCost(ATTR1_2A)); assertEquals(14, f12.computeCost(ATTR1_2B)); assertEquals(26, f12.computeCost(ATTR2_2)); assertEquals(27, f12.computeCost(ATTR2_3)); assertEquals(36, f12.computeCost(ATTR2_12)); }
assertEquals(0, f0.computeCost(DOC0_0)); assertEquals(0, f1.computeCost(DOC0_0)); assertEquals(0, f2.computeCost(DOC0_0)); assertEquals(0, f12.computeCost(DOC0_0)); assertEquals(0, f0.computeCost(DOC1_0)); assertEquals(2, f0.computeCost(DOC1_2)); assertEquals(2, f0.computeCost(DOC2_2)); assertEquals(1, f1.computeCost(DOC1_0)); assertEquals(3, f1.computeCost(DOC1_2)); assertEquals(4, f1.computeCost(DOC2_2)); assertEquals(2, f2.computeCost(DOC1_0)); assertEquals(4, f2.computeCost(DOC1_2)); assertEquals(6, f2.computeCost(DOC2_2)); assertEquals(12, f12.computeCost(DOC1_0)); assertEquals(14, f12.computeCost(DOC1_2)); assertEquals(26, f12.computeCost(DOC2_2)); assertEquals( 2, f0.computeCost(DOC3_2)); assertEquals(14, f0.computeCost(DOC4_14)); assertEquals(15, f0.computeCost(DOC5_15)); assertEquals(15, f0.computeCost(DOC6_15)); assertEquals(15, f0.computeCost(DOC7_15)); assertEquals(15, f0.computeCost(DOC9_15)); assertEquals(17, f0.computeCost(DOC12_17));
assertEquals(0, f0.computeCost(DOC0_0)); assertEquals(0, f1.computeCost(DOC0_0)); assertEquals(0, f2.computeCost(DOC0_0)); assertEquals(0, f12.computeCost(DOC0_0)); assertEquals(0, f0.computeCost(DOC1_0)); assertEquals(2, f0.computeCost(DOC1_2)); assertEquals(2, f0.computeCost(DOC2_2)); assertEquals(1, f1.computeCost(DOC1_0)); assertEquals(3, f1.computeCost(DOC1_2)); assertEquals(4, f1.computeCost(DOC2_2)); assertEquals(2, f2.computeCost(DOC1_0)); assertEquals(4, f2.computeCost(DOC1_2)); assertEquals(6, f2.computeCost(DOC2_2)); assertEquals(12, f12.computeCost(DOC1_0)); assertEquals(14, f12.computeCost(DOC1_2)); assertEquals(26, f12.computeCost(DOC2_2)); assertEquals( 2, f0.computeCost(DOC3_2)); assertEquals(14, f0.computeCost(DOC4_14)); assertEquals(15, f0.computeCost(DOC5_15)); assertEquals(15, f0.computeCost(DOC6_15)); assertEquals(15, f0.computeCost(DOC7_15)); assertEquals(15, f0.computeCost(DOC9_15)); assertEquals(17, f0.computeCost(DOC12_17));