org.apache.lucene.util.automaton.Automata.anyOfRightLength()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(82)

本文整理了Java中org.apache.lucene.util.automaton.Automata.anyOfRightLength()方法的一些代码示例,展示了Automata.anyOfRightLength()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Automata.anyOfRightLength()方法的具体详情如下:
包路径:org.apache.lucene.util.automaton.Automata
类名称:Automata
方法名:anyOfRightLength

Automata.anyOfRightLength介绍

[英]Constructs sub-automaton corresponding to decimal numbers of length x.substring(n).length().
[中]构造与长度为x.substring(n)的十进制数对应的子自动机。长度()。

代码示例

代码示例来源:origin: org.apache.lucene/lucene-core

/**
 * Constructs sub-automaton corresponding to decimal numbers of length
 * x.substring(n).length().
 */
private static int anyOfRightLength(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', '9');
 }
 return s;
}

代码示例来源:origin: org.apache.lucene/lucene-core

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at least
 * x.substring(n) and length x.substring(n).length().
 */
private static int atLeast(Automaton.Builder builder, String x, int n, Collection<Integer> initials,
  boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char c = x.charAt(n);
  builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && c == '0'), c);
  if (c < '9') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), (char) (c + 1), '9');
  }
 }
 return s;
}

代码示例来源:origin: org.apache.lucene/lucene-core

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at most
 * x.substring(n) and length x.substring(n).length().
 */
private static int atMost(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  char c = x.charAt(n);
  builder.addTransition(s, atMost(builder, x, (char) n + 1), c);
  if (c > '0') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', (char) (c - 1));
  }
 }
 return s;
}

代码示例来源:origin: org.apache.lucene/lucene-core

/**
 * Constructs sub-automaton corresponding to decimal numbers of value between
 * x.substring(n) and y.substring(n) and of length x.substring(n).length()
 * (which must be equal to y.substring(n).length()).
 */
private static int between(Automaton.Builder builder,
  String x, String y, int n,
  Collection<Integer> initials, boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char cx = x.charAt(n);
  char cy = y.charAt(n);
  if (cx == cy) {
   builder.addTransition(s, between(builder, x, y, n + 1, initials, zeros && cx == '0'), cx);
  } else { // cx<cy
   builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && cx == '0'), cx);
   builder.addTransition(s, atMost(builder, y, n + 1), cy);
   if (cx + 1 < cy) {
    builder.addTransition(s, anyOfRightLength(builder, x, n+1), (char) (cx + 1), (char) (cy - 1));
   }
  }
 }
 return s;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

/**
 * Constructs sub-automaton corresponding to decimal numbers of length
 * x.substring(n).length().
 */
private static int anyOfRightLength(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', '9');
 }
 return s;
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
 * Constructs sub-automaton corresponding to decimal numbers of length
 * x.substring(n).length().
 */
private static int anyOfRightLength(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', '9');
 }
 return s;
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Constructs sub-automaton corresponding to decimal numbers of length
 * x.substring(n).length().
 */
private static int anyOfRightLength(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', '9');
 }
 return s;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at least
 * x.substring(n) and length x.substring(n).length().
 */
private static int atLeast(Automaton.Builder builder, String x, int n, Collection<Integer> initials,
  boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char c = x.charAt(n);
  builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && c == '0'), c);
  if (c < '9') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), (char) (c + 1), '9');
  }
 }
 return s;
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at least
 * x.substring(n) and length x.substring(n).length().
 */
private static int atLeast(Automaton.Builder builder, String x, int n, Collection<Integer> initials,
  boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char c = x.charAt(n);
  builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && c == '0'), c);
  if (c < '9') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), (char) (c + 1), '9');
  }
 }
 return s;
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at least
 * x.substring(n) and length x.substring(n).length().
 */
private static int atLeast(Automaton.Builder builder, String x, int n, Collection<Integer> initials,
  boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char c = x.charAt(n);
  builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && c == '0'), c);
  if (c < '9') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), (char) (c + 1), '9');
  }
 }
 return s;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at most
 * x.substring(n) and length x.substring(n).length().
 */
private static int atMost(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  char c = x.charAt(n);
  builder.addTransition(s, atMost(builder, x, (char) n + 1), c);
  if (c > '0') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', (char) (c - 1));
  }
 }
 return s;
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at most
 * x.substring(n) and length x.substring(n).length().
 */
private static int atMost(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  char c = x.charAt(n);
  builder.addTransition(s, atMost(builder, x, (char) n + 1), c);
  if (c > '0') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', (char) (c - 1));
  }
 }
 return s;
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Constructs sub-automaton corresponding to decimal numbers of value at most
 * x.substring(n) and length x.substring(n).length().
 */
private static int atMost(Automaton.Builder builder, String x, int n) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  char c = x.charAt(n);
  builder.addTransition(s, atMost(builder, x, (char) n + 1), c);
  if (c > '0') {
   builder.addTransition(s, anyOfRightLength(builder, x, n + 1), '0', (char) (c - 1));
  }
 }
 return s;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene

/**
 * Constructs sub-automaton corresponding to decimal numbers of value between
 * x.substring(n) and y.substring(n) and of length x.substring(n).length()
 * (which must be equal to y.substring(n).length()).
 */
private static int between(Automaton.Builder builder,
  String x, String y, int n,
  Collection<Integer> initials, boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char cx = x.charAt(n);
  char cy = y.charAt(n);
  if (cx == cy) {
   builder.addTransition(s, between(builder, x, y, n + 1, initials, zeros && cx == '0'), cx);
  } else { // cx<cy
   builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && cx == '0'), cx);
   builder.addTransition(s, atMost(builder, y, n + 1), cy);
   if (cx + 1 < cy) {
    builder.addTransition(s, anyOfRightLength(builder, x, n+1), (char) (cx + 1), (char) (cy - 1));
   }
  }
 }
 return s;
}

代码示例来源:origin: org.infinispan/infinispan-embedded-query

/**
 * Constructs sub-automaton corresponding to decimal numbers of value between
 * x.substring(n) and y.substring(n) and of length x.substring(n).length()
 * (which must be equal to y.substring(n).length()).
 */
private static int between(Automaton.Builder builder,
  String x, String y, int n,
  Collection<Integer> initials, boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char cx = x.charAt(n);
  char cy = y.charAt(n);
  if (cx == cy) {
   builder.addTransition(s, between(builder, x, y, n + 1, initials, zeros && cx == '0'), cx);
  } else { // cx<cy
   builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && cx == '0'), cx);
   builder.addTransition(s, atMost(builder, y, n + 1), cy);
   if (cx + 1 < cy) {
    builder.addTransition(s, anyOfRightLength(builder, x, n+1), (char) (cx + 1), (char) (cy - 1));
   }
  }
 }
 return s;
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Constructs sub-automaton corresponding to decimal numbers of value between
 * x.substring(n) and y.substring(n) and of length x.substring(n).length()
 * (which must be equal to y.substring(n).length()).
 */
private static int between(Automaton.Builder builder,
  String x, String y, int n,
  Collection<Integer> initials, boolean zeros) {
 int s = builder.createState();
 if (x.length() == n) {
  builder.setAccept(s, true);
 } else {
  if (zeros) {
   initials.add(s);
  }
  char cx = x.charAt(n);
  char cy = y.charAt(n);
  if (cx == cy) {
   builder.addTransition(s, between(builder, x, y, n + 1, initials, zeros && cx == '0'), cx);
  } else { // cx<cy
   builder.addTransition(s, atLeast(builder, x, n + 1, initials, zeros && cx == '0'), cx);
   builder.addTransition(s, atMost(builder, y, n + 1), cy);
   if (cx + 1 < cy) {
    builder.addTransition(s, anyOfRightLength(builder, x, n+1), (char) (cx + 1), (char) (cy - 1));
   }
  }
 }
 return s;
}

相关文章