Author: pkluegl
Date: Thu May 23 16:09:47 2013
New Revision: 1485764

URL: http://svn.apache.org/r1485764
Log:
UIMA-2939
- use long instead of int

Modified:
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaDisjunctiveMatcher.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java
    
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
 Thu May 23 16:09:47 2013
@@ -690,7 +690,7 @@ public class RutaStream extends FSIterat
             simpleGreedyForComposed, crowd);
   }
 
-  public int getHistogram(Type type) {
+  public long getHistogram(Type type) {
     return cas.getAnnotationIndex(type).size();
   }
 

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
 Thu May 23 16:09:47 2013
@@ -247,11 +247,15 @@ public class ComposedRuleElement extends
     return anchors;
   }
 
-  public int estimateAnchors(RutaStream stream) {
-    int result = 1;
+  public long estimateAnchors(RutaStream stream) {
+    long result = 1;
     for (RuleElement each : elements) {
       result += each.estimateAnchors(stream);
     }
+    if (quantifier.isOptional(getParent(), stream)) {
+      // three times since sibling elements maybe need to be checked
+      result *= 3 * (int) stream.getIndexPenalty();
+    }
     return result;
   }
 

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
 Thu May 23 16:09:47 2013
@@ -61,7 +61,7 @@ public interface RuleElement {
 
   RuleElementQuantifier getQuantifier();
 
-  int estimateAnchors(RutaStream stream);
+  long estimateAnchors(RutaStream stream);
 
   List<Integer> getSelfIndexList();
 

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java
 Thu May 23 16:09:47 2013
@@ -62,15 +62,13 @@ public class RuleElementCaretaker implem
     }
 
     if (stream.isDynamicAnchoring()) {
-      // TODO activate dynamic anchoring
-      int min = Integer.MAX_VALUE;
+      long min = Long.MAX_VALUE;
       RuleElement minElement = null;
       int i = 1;
       for (RuleElement each : ruleElements) {
-        int estimate = each.estimateAnchors(stream);
-        // TODO what about this formula?
+        long estimate = each.estimateAnchors(stream);
         double factor = stream.getIndexPenalty();
-        estimate = (int) (Math.log(estimate) * (i * factor));
+        estimate = (long) (Math.log(estimate) * (i * factor));
         if (estimate < min) {
           min = estimate;
           minElement = each;

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaDisjunctiveMatcher.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaDisjunctiveMatcher.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaDisjunctiveMatcher.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaDisjunctiveMatcher.java
 Thu May 23 16:09:47 2013
@@ -80,8 +80,8 @@ public class RutaDisjunctiveMatcher impl
     return null;
   }
 
-  public int estimateAnchors(RutaBlock parent, RutaStream stream) {
-    int result = 0;
+  public long estimateAnchors(RutaBlock parent, RutaStream stream) {
+    long result = 0;
     for (RutaMatcher each : matchers) {
       result += each.estimateAnchors(parent, stream);
     }

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
 Thu May 23 16:09:47 2013
@@ -67,7 +67,7 @@ public class RutaLiteralMatcher implemen
     return expression;
   }
 
-  public int estimateAnchors(RutaBlock parent, RutaStream stream) {
+  public long estimateAnchors(RutaBlock parent, RutaStream stream) {
     return Integer.MAX_VALUE;
   }
 

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
 Thu May 23 16:09:47 2013
@@ -38,7 +38,7 @@ public interface RutaMatcher {
 
   RutaExpression getExpression();
 
-  int estimateAnchors(RutaBlock parent, RutaStream stream);
+  long estimateAnchors(RutaBlock parent, RutaStream stream);
 
   Collection<AnnotationFS> getAnnotationsAfter(RutaRuleElement ruleElement,
           AnnotationFS annotation, RutaStream stream, RutaBlock parent);

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
 Thu May 23 16:09:47 2013
@@ -365,9 +365,9 @@ public class RutaRuleElement extends Abs
     return parent;
   }
 
-  public int estimateAnchors(RutaStream stream) {
+  public long estimateAnchors(RutaStream stream) {
     if (quantifier.isOptional(getParent(), stream)) {
-      return Integer.MAX_VALUE;
+      return matcher.estimateAnchors(parent, stream) + Integer.MAX_VALUE;
     }
     return matcher.estimateAnchors(parent, stream);
   }

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java
 Thu May 23 16:09:47 2013
@@ -280,7 +280,7 @@ public class RutaTypeMatcher implements 
     return type;
   }
 
-  public int estimateAnchors(RutaBlock parent, RutaStream stream) {
+  public long estimateAnchors(RutaBlock parent, RutaStream stream) {
     TypeExpression typeExpression = mr.getTypeExpression(parent, stream);
     return stream.getHistogram(getType(typeExpression, parent, stream));
   }

Modified: 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java?rev=1485764&r1=1485763&r2=1485764&view=diff
==============================================================================
--- 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
 (original)
+++ 
uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
 Thu May 23 16:09:47 2013
@@ -473,7 +473,7 @@ public class WildCardRuleElement extends
     return Collections.emptyList();
   }
 
-  public int estimateAnchors(RutaStream stream) {
+  public long estimateAnchors(RutaStream stream) {
     return Integer.MAX_VALUE;
   }
 


Reply via email to