List of usage examples for com.google.common.collect TreeRangeMap create
public static <K extends Comparable, V> TreeRangeMap<K, V> create()
From source file:org.apache.niolex.common.guava.GuavaCollections.java
/** * @param args/*from www . ja v a 2 s. co m*/ */ public static void main(String[] args) { Multiset<String> wordsMultiset = HashMultiset.create(); wordsMultiset.add("abc"); wordsMultiset.add("abc"); wordsMultiset.add("abcd"); System.out.println("count => " + wordsMultiset.count("abc")); System.out.println("count => " + wordsMultiset.count("abcd")); BiMap<String, String> biMap = HashBiMap.create(); biMap.put("good", "morning"); biMap.put("bad", "afternoon"); System.out.println("good => " + biMap.get("good")); System.out.println("afternoon => " + biMap.inverse().get("afternoon")); RangeMap<Integer, String> rangeMap = TreeRangeMap.create(); rangeMap.put(Range.closed(1, 11), "Nice"); rangeMap.put(Range.openClosed(11, 15), "Girl"); System.out.println("11 => " + rangeMap.get(11)); System.out.println("12 => " + rangeMap.get(12)); System.out.println("15 => " + rangeMap.get(15)); System.out.println("16 => " + rangeMap.get(16)); List<Integer> countUp = Ints.asList(1, 2, 3, 4, 5); List<Integer> countDown = Lists.reverse(countUp); // {5, 4, 3, 2, 1} System.out.println("countUp => " + countUp); System.out.println("countDown => " + countDown); }
From source file:org.mskcc.shenkers.data.interval.RangeTools.java
public static <T> RangeMap<Integer, T> asClosed(RangeMap<Integer, T> s) { RangeMap<Integer, T> closedIntervalSet = TreeRangeMap.create(); Map<Range<Integer>, T> map = s.asMapOfRanges(); for (Map.Entry<Range<Integer>, T> r : map.entrySet()) { closedIntervalSet.put(asClosed(r.getKey()), r.getValue()); }//from w ww . j a v a2s . com return closedIntervalSet; }
From source file:org.mskcc.shenkers.data.interval.DiscreteRangeMap.java
public RangeMap<Integer, Double> add(RangeMap<Integer, Double> rm, Range<Integer> r, Double d) { RangeMap<Integer, Double> ram = TreeRangeMap.create(); ram.putAll(rm);/*from www. ja v a2 s . com*/ ram.put(r, d); rm.subRangeMap(r).asMapOfRanges().forEach((range, val) -> ram.put(range, val + d)); return ram; }
From source file:org.mskcc.shenkers.data.interval.DiscreteRangeMap.java
public RangeMap<Double, Double> toReal(RangeMap<Integer, Double> rm) { RangeMap<Double, Double> ram = TreeRangeMap.create(); rm.asMapOfRanges().forEach((range, val) -> ram.put(asReal(range), val)); return ram;/*ww w. j av a 2s. com*/ }
From source file:org.mskcc.shenkers.data.interval.DiscreteRangeMap.java
public void testGetGraphic() { RangeMap<Integer, Double> ram = TreeRangeMap.create(); // ram.put(Range.closed(0, 4), 0.); System.out.println("adding"); ram = add(ram, Range.closed(1, 3), 1.); ram.asMapOfRanges().forEach((r, d) -> System.out.println(String.format("%s %f", r, d))); System.out.println("adding"); ram = add(ram, Range.closed(-1, 4), 1.); ram.asMapOfRanges().forEach((r, d) -> System.out.println(String.format("%s %f", r, d))); System.out.println("adding"); ram = add(ram, Range.closed(3, 5), 2.); ram.asMapOfRanges().forEach((r, d) -> System.out.println(String.format("%s %f", r, d))); System.out.println("asReal"); ram.asMapOfRanges().forEach((r, d) -> System.out.println(String.format("%s %f", r, d))); toReal(ram).asMapOfRanges().forEach((r, d) -> System.out.println(String.format("%s %f", r, d))); RangeMap<Double, Double> toReal = toReal(ram); System.out.println("span " + toReal.span()); double length = length(toReal.span()); System.out.println("length " + length); int k = 7;/*from ww w . ja va 2 s . c om*/ double binSize = length / k; Double lb = toReal.span().lowerEndpoint(); for (int i = 0; i < k; i++) { Range<Double> closedOpen = Range.closedOpen(lb + (i * 1. / k * length), lb + ((i + 1.) / k * length)); System.out.println("bin " + i); System.out.println(closedOpen); Double max = Collections.max(toReal.subRangeMap(closedOpen).asMapOfRanges().values()); Double mean = toReal.subRangeMap(closedOpen).asMapOfRanges().values().stream() .mapToDouble(Double::doubleValue).average().orElse(0.); // StreamSupport.doubleStream(new Spliterator.OfDouble() // false); System.out.println("max " + max); System.out.println("mean " + mean); } }
From source file:org.sosy_lab.cpachecker.cfa.CSourceOriginMapping.java
void mapInputLineRangeToDelta(String inputFilename, String originFilename, int fromInputLineNumber, int toInputLineNumber, int deltaLinesToOrigin) { RangeMap<Integer, Pair<String, Integer>> fileMapping = mapping.get(inputFilename); if (fileMapping == null) { fileMapping = TreeRangeMap.create(); mapping.put(inputFilename, fileMapping); }//from ww w . j a v a 2 s. c om Range<Integer> lineRange = Range.openClosed(fromInputLineNumber - 1, toInputLineNumber); fileMapping.put(lineRange, Pair.of(originFilename, deltaLinesToOrigin)); }
From source file:org.mskcc.shenkers.control.track.bigwig.BigWigUtil.java
public static RangeMap<Integer, Double> values(BBFileReader bbfr, String chr, int start, int end, int zoom) { boolean contained = false; Iterator<BBItem> iterator = null; if (zoom == 0) { BigWigIterator bwi = bbfr.getBigWigIterator(chr, start - 1, chr, end, false); iterator = StreamSupport.stream(Spliterators.spliteratorUnknownSize(bwi, 0), false) .map(w -> new BBItem(w)).iterator(); } else {//from www .ja v a2s .c o m ZoomLevelIterator zli = bbfr.getZoomLevelIterator(zoom, chr, start - 1, chr, end, contained); iterator = StreamSupport.stream(Spliterators.spliteratorUnknownSize(zli, 0), false) .map(w -> new BBItem(w)).iterator(); } RangeMap<Integer, Double> cov = TreeRangeMap.create(); while (iterator.hasNext()) { BBItem wi = iterator.next(); cov.put(Range.closed(wi.getStart() + 1, wi.getEnd()), wi.getValue()); } return cov; }
From source file:google.registry.monitoring.metrics.MutableDistribution.java
/** Constructs an empty Distribution with the specified {@link DistributionFitter}. */ public MutableDistribution(DistributionFitter distributionFitter) { this.distributionFitter = checkNotNull(distributionFitter); ImmutableSortedSet<Double> boundaries = distributionFitter.boundaries(); checkArgument(boundaries.size() > 0); checkArgument(Ordering.natural().isOrdered(boundaries)); this.intervalCounts = TreeRangeMap.create(); double[] boundariesArray = Doubles.toArray(distributionFitter.boundaries()); // Add underflow and overflow intervals this.intervalCounts.put(Range.lessThan(boundariesArray[0]), 0L); this.intervalCounts.put(Range.atLeast(boundariesArray[boundariesArray.length - 1]), 0L); // Add finite intervals for (int i = 1; i < boundariesArray.length; i++) { this.intervalCounts.put(Range.closedOpen(boundariesArray[i - 1], boundariesArray[i]), 0L); }// w w w . ja va 2 s . c o m }
From source file:com.google.googlejavaformat.java.ModifierOrderer.java
/** * Reorders all modifiers in the given text and within the given character ranges to be in JLS * order.//ww w . j av a 2 s . co m */ static JavaInput reorderModifiers(JavaInput javaInput, Collection<Range<Integer>> characterRanges) throws FormatterException { if (javaInput.getTokens().isEmpty()) { // There weren't any tokens, possible because of a lexing error. // Errors about invalid input will be reported later after parsing. return javaInput; } RangeSet<Integer> tokenRanges = javaInput.characterRangesToTokenRanges(characterRanges); Iterator<? extends Token> it = javaInput.getTokens().iterator(); TreeRangeMap<Integer, String> replacements = TreeRangeMap.create(); while (it.hasNext()) { Token token = it.next(); if (!tokenRanges.contains(token.getTok().getIndex())) { continue; } Modifier mod = asModifier(token); if (mod == null) { continue; } List<Token> modifierTokens = new ArrayList<>(); List<Modifier> mods = new ArrayList<>(); int begin = token.getTok().getPosition(); mods.add(mod); modifierTokens.add(token); int end = -1; while (it.hasNext()) { token = it.next(); mod = asModifier(token); if (mod == null) { break; } mods.add(mod); modifierTokens.add(token); end = token.getTok().getPosition() + token.getTok().length(); } if (!Ordering.natural().isOrdered(mods)) { Collections.sort(mods); StringBuilder replacement = new StringBuilder(); for (int i = 0; i < mods.size(); i++) { if (i > 0) { addTrivia(replacement, modifierTokens.get(i).getToksBefore()); } replacement.append(mods.get(i).toString()); if (i < (modifierTokens.size() - 1)) { addTrivia(replacement, modifierTokens.get(i).getToksAfter()); } } replacements.put(Range.closedOpen(begin, end), replacement.toString()); } } return applyReplacements(javaInput, replacements); }
From source file:com.pingcap.tikv.RegionManager.java
public RegionManager(ReadOnlyPDClient pdClient) { this.pdClient = pdClient; regionCache = CacheBuilder.newBuilder().maximumSize(MAX_CACHE_CAPACITY) .build(new CacheLoader<Long, Future<Region>>() { public Future load(Long key) { return pdClient.getRegionByIDAsync(key); }//from w ww .j a va 2 s . c om }); storeCache = CacheBuilder.newBuilder().maximumSize(MAX_CACHE_CAPACITY) .build(new CacheLoader<Long, Future<Store>>() { public Future load(Long id) { return pdClient.getStoreAsync(id); } }); keyToRegionIdCache = TreeRangeMap.create(); }