public RangeSet<Integer> characterRangesToTokenRanges(Collection<Range<Integer>> characterRanges)
throws FormatterException {
RangeSet<Integer> tokenRangeSet = TreeRangeSet.create();
for (Range<Integer> characterRange0 : characterRanges) {
Range<Integer> characterRange = characterRange0.canonical(DiscreteDomain.integers());
tokenRangeSet.add(
characterRangeToTokenRange(
characterRange.lowerEndpoint(),
characterRange.upperEndpoint() - characterRange.lowerEndpoint()));
}
return tokenRangeSet;
}
java类com.google.common.collect.DiscreteDomain的实例源码
JavaInput.java 文件源码
项目:javaide
阅读 27
收藏 0
点赞 0
评论 0
NumpyUtils.java 文件源码
项目:matplotlib4j
阅读 15
收藏 0
点赞 0
评论 0
public static List<Double> arange(double start, double end, double step) {
double scaledStart = start / step;
double scaledEnd = end / step;
double floorGap = scaledStart - (int) scaledStart;
return ContiguousSet.create(Range.closed((int) scaledStart, (int) scaledEnd), DiscreteDomain.integers())
.stream().map(x -> (x + floorGap) * step).collect(Collectors.toList());
}
AggregationTest.java 文件源码
项目:es-sql
阅读 22
收藏 0
点赞 0
评论 0
@Test
public void testSubAggregations() throws Exception {
Set expectedAges = new HashSet<>(ContiguousSet.create(Range.closed(20, 40), DiscreteDomain.integers()));
final String query = String.format("SELECT /*! DOCS_WITH_AGGREGATION(10) */" +
" * FROM %s/account GROUP BY (gender, terms('field'='age','size'=200,'alias'='age')), (state) LIMIT 200,200", TEST_INDEX);
Map<String, Set<Integer>> buckets = new HashMap<>();
SqlElasticSearchRequestBuilder select = getSearchRequestBuilder(query);
SearchResponse response = (SearchResponse) select.get();
Aggregations result = response.getAggregations();
Terms gender = result.get("gender");
for(Terms.Bucket genderBucket : gender.getBuckets()) {
String genderKey = genderBucket.getKey().toString();
buckets.put(genderKey, new HashSet<Integer>());
Terms ageBuckets = (Terms) genderBucket.getAggregations().get("age");
for(Terms.Bucket ageBucket : ageBuckets.getBuckets()) {
buckets.get(genderKey).add(Integer.parseInt(ageBucket.getKey().toString()));
}
}
Assert.assertEquals(2, buckets.keySet().size());
Assert.assertEquals(expectedAges, buckets.get("m"));
Assert.assertEquals(expectedAges, buckets.get("f"));
Terms state = result.get("state");
for(Terms.Bucket stateBucket : state.getBuckets()) {
if(stateBucket.getKey().toString().equalsIgnoreCase("ak")) {
Assert.assertTrue("There are 22 entries for state ak", stateBucket.getDocCount() == 22);
}
}
Assert.assertEquals(response.getHits().totalHits(), 1000);
Assert.assertEquals(response.getHits().hits().length, 10);
}
EncodedDiscreteResources.java 文件源码
项目:athena
阅读 19
收藏 0
点赞 0
评论 0
static EncodedDiscreteResources of(Set<DiscreteResource> resources, DiscreteResourceCodec codec) {
RangeSet<Integer> rangeSet = TreeRangeSet.create();
resources.stream()
.map(x -> x.valueAs(Object.class))
.flatMap(Tools::stream)
.map(x -> codec.encode(x))
.map(Range::singleton)
.map(x -> x.canonical(DiscreteDomain.integers()))
.forEach(rangeSet::add);
return new EncodedDiscreteResources(rangeSet, codec);
}
SetGenerators.java 文件源码
项目:googles-monorepo-demo
阅读 25
收藏 0
点赞 0
评论 0
protected final ContiguousSet<Integer> checkedCreate(SortedSet<Integer> elementsSet) {
List<Integer> elements = newArrayList(elementsSet);
/*
* A ContiguousSet can't have holes. If a test demands a hole, it should be changed so that it
* doesn't need one, or it should be suppressed for ContiguousSet.
*/
for (int i = 0; i < elements.size() - 1; i++) {
assertEquals(elements.get(i) + 1, (int) elements.get(i + 1));
}
Range<Integer> range =
(elements.isEmpty()) ? Range.closedOpen(0, 0) : Range.encloseAll(elements);
return ContiguousSet.create(range, DiscreteDomain.integers());
}
Numbers.java 文件源码
项目:Mastering-Mesos
阅读 30
收藏 0
点赞 0
评论 0
/**
* Performs {@link #toRange(IRange)} for a collection of ranges, and convert the result to a set
* of integers.
*
* @param ranges Ranges to convert.
* @return A set representing {@code ranges}.
*/
public static Set<Integer> rangesToInstanceIds(Iterable<IRange> ranges) {
ImmutableRangeSet.Builder<Integer> instanceIds = ImmutableRangeSet.builder();
for (IRange range : ranges) {
instanceIds.add(toRange(range));
}
return instanceIds.build().asSet(DiscreteDomain.integers());
}
JobDiff.java 文件源码
项目:Mastering-Mesos
阅读 42
收藏 0
点赞 0
评论 0
/**
* Creates a map of {@code instanceCount} copies of {@code config}.
*
* @param config Configuration to generate an instance mapping for.
* @param instanceCount Number of instances to represent.
* @return A map of instance IDs (from 0 to {@code instanceCount - 1}) to {@code config}.
*/
public static Map<Integer, ITaskConfig> asMap(ITaskConfig config, int instanceCount) {
requireNonNull(config);
Set<Integer> desiredInstances = ContiguousSet.create(
Range.closedOpen(0, instanceCount),
DiscreteDomain.integers());
return ImmutableMap.copyOf(Maps.asMap(desiredInstances, Functions.constant(config)));
}
SanitizedConfiguration.java 文件源码
项目:Mastering-Mesos
阅读 96
收藏 0
点赞 0
评论 0
/**
* Constructs a SanitizedConfiguration object and populates the set of instance IDs for
* the provided {@link org.apache.aurora.scheduler.storage.entities.ITaskConfig}.
*
* @param sanitized A sanitized configuration.
*/
@VisibleForTesting
public SanitizedConfiguration(IJobConfiguration sanitized) {
this.sanitized = sanitized;
this.instanceIds = ContiguousSet.create(
Range.closedOpen(0, sanitized.getInstanceCount()),
DiscreteDomain.integers());
}
CrontabEntry.java 文件源码
项目:Mastering-Mesos
阅读 18
收藏 0
点赞 0
评论 0
private String fieldToString(RangeSet<Integer> rangeSet, Range<Integer> coveringRange) {
if (rangeSet.asRanges().size() == 1 && rangeSet.encloses(coveringRange)) {
return "*";
}
List<String> components = Lists.newArrayList();
for (Range<Integer> range : rangeSet.asRanges()) {
ContiguousSet<Integer> set = ContiguousSet.create(range, DiscreteDomain.integers());
if (set.size() == 1) {
components.add(set.first().toString());
} else {
components.add(set.first() + "-" + set.last());
}
}
return String.join(",", components);
}
GraphPopulator.java 文件源码
项目:science-journal
阅读 17
收藏 0
点赞 0
评论 0
private Range<Long> getEffectiveAddedRange(TimeRange requested, Range<Long> returned) {
if (returned == null) {
return requested.getTimes().canonical(DiscreteDomain.longs());
}
switch (requested.getOrder()) {
case NEWEST_FIRST:
return Range.closed(returned.lowerEndpoint(), requested.getTimes().upperEndpoint());
case OLDEST_FIRST:
return Range.closed(requested.getTimes().lowerEndpoint(), returned.upperEndpoint());
default:
throw new IllegalArgumentException(
"Unexpected value for enum: " + requested.getOrder());
}
}