Example usage for com.google.common.collect TreeRangeMap create

List of usage examples for com.google.common.collect TreeRangeMap create

Introduction

In this page you can find the example usage for com.google.common.collect TreeRangeMap create.

Prototype

public static <K extends Comparable, V> TreeRangeMap<K, V> create() 

Source Link

Usage

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();
}