Example usage for com.google.common.collect Range span

List of usage examples for com.google.common.collect Range span

Introduction

In this page you can find the example usage for com.google.common.collect Range span.

Prototype

public Range<C> span(Range<C> other) 

Source Link

Document

Returns the minimal range that #encloses encloses both this range and other .

Usage

From source file:com.google.android.apps.forscience.whistlepunk.Ranges.java

static <T extends Comparable<T>> Range<T> span(Range<T> a, Range<T> b) {
    if (a == null) {
        return b;
    }//ww  w .  j a v a2 s  .  c  o  m
    if (b == null) {
        return a;
    }
    return a.span(b);
}

From source file:net.sf.mzmine.util.RawDataFileUtils.java

public static @Nonnull Range<Double> findTotalRTRange(RawDataFile dataFiles[], int msLevel) {
    Range<Double> rtRange = null;
    for (RawDataFile file : dataFiles) {
        Range<Double> dfRange = file.getDataRTRange(msLevel);
        if (dfRange == null)
            continue;
        if (rtRange == null)
            rtRange = dfRange;/*from   ww w . j av  a  2s .c om*/
        else
            rtRange = rtRange.span(dfRange);
    }
    if (rtRange == null)
        rtRange = Range.singleton(0.0);
    return rtRange;
}

From source file:net.sf.mzmine.util.RawDataFileUtils.java

public static @Nonnull Range<Double> findTotalMZRange(RawDataFile dataFiles[], int msLevel) {
    Range<Double> mzRange = null;
    for (RawDataFile file : dataFiles) {
        Range<Double> dfRange = file.getDataMZRange(msLevel);
        if (dfRange == null)
            continue;
        if (mzRange == null)
            mzRange = dfRange;//from w  w w.  j a  va 2  s . c  om
        else
            mzRange = mzRange.span(dfRange);
    }
    if (mzRange == null)
        mzRange = Range.singleton(0.0);
    return mzRange;
}

From source file:net.sf.mzmine.util.PeakUtils.java

/**
 * Finds a combined m/z range that covers all given peaks
 *//*from   w w  w  . j ava  2  s.c o  m*/
public static Range<Double> findMZRange(Feature peaks[]) {

    Range<Double> mzRange = null;

    for (Feature p : peaks) {
        if (mzRange == null) {
            mzRange = p.getRawDataPointsMZRange();
        } else {
            mzRange = mzRange.span(p.getRawDataPointsMZRange());
        }
    }

    return mzRange;

}

From source file:org.apache.kylin.common.util.RangeUtil.java

public static <C extends Comparable<?>> Range<C> merge(Range<C> a, Range<C> b) {
    if (a == null && b == null) {
        return null;
    } else if (a == null || b == null) {
        return a == null ? b : a;
    } else {/* w w w  . j a va  2  s . c o  m*/
        return a.span(b);
    }
}

From source file:com.google.googlejavaformat.java.JavaOutput.java

private static Range<Integer> union(Range<Integer> x, Range<Integer> y) {
    return x.isEmpty() ? y : y.isEmpty() ? x : x.span(y).canonical(DiscreteDomain.integers());
}

From source file:net.sf.mzmine.modules.rawdatamethods.peakpicking.manual.ManualPeakPickerModule.java

public static ExitCode runManualDetection(RawDataFile dataFiles[], PeakListRow peakListRow, PeakList peakList,
        PeakListTable table) {/* w ww.  ja v  a2s  .c o m*/

    Range<Double> mzRange = null, rtRange = null;

    // Check the peaks for selected data files
    for (RawDataFile dataFile : dataFiles) {
        Feature peak = peakListRow.getPeak(dataFile);
        if (peak == null)
            continue;
        if ((mzRange == null) || (rtRange == null)) {
            mzRange = peak.getRawDataPointsMZRange();
            rtRange = peak.getRawDataPointsRTRange();
        } else {
            mzRange = mzRange.span(peak.getRawDataPointsMZRange());
            rtRange = rtRange.span(peak.getRawDataPointsRTRange());
        }

    }

    // If none of the data files had a peak, check the whole row
    if (mzRange == null) {
        for (Feature peak : peakListRow.getPeaks()) {
            if (peak == null)
                continue;
            if ((mzRange == null) || (rtRange == null)) {
                mzRange = peak.getRawDataPointsMZRange();
                rtRange = peak.getRawDataPointsRTRange();
            } else {
                mzRange = mzRange.span(peak.getRawDataPointsMZRange());
                rtRange = rtRange.span(peak.getRawDataPointsRTRange());
            }

        }
    }

    ManualPickerParameters parameters = new ManualPickerParameters();

    if (mzRange != null) {
        parameters.getParameter(ManualPickerParameters.retentionTimeRange).setValue(rtRange);
        parameters.getParameter(ManualPickerParameters.mzRange).setValue(mzRange);
    }

    ExitCode exitCode = parameters.showSetupDialog(MZmineCore.getDesktop().getMainWindow(), true);

    if (exitCode != ExitCode.OK)
        return exitCode;

    ManualPickerTask task = new ManualPickerTask(MZmineCore.getProjectManager().getCurrentProject(),
            peakListRow, dataFiles, parameters, peakList, table);

    MZmineCore.getTaskController().addTask(task);
    return exitCode;
}

From source file:org.apache.hadoop.hive.ql.optimizer.calcite.druid.DruidIntervalUtils.java

protected static List<Range> condenseRanges(List<Range> ranges) {
    if (ranges.size() <= 1) {
        return ranges;
    }/*from w  w w  . j ava2s.c  o m*/

    Comparator<Range> startThenEnd = new Comparator<Range>() {
        @Override
        public int compare(Range lhs, Range rhs) {
            int compare = 0;
            if (lhs.hasLowerBound() && rhs.hasLowerBound()) {
                compare = lhs.lowerEndpoint().compareTo(rhs.lowerEndpoint());
            } else if (!lhs.hasLowerBound() && rhs.hasLowerBound()) {
                compare = -1;
            } else if (lhs.hasLowerBound() && !rhs.hasLowerBound()) {
                compare = 1;
            }
            if (compare != 0) {
                return compare;
            }
            if (lhs.hasUpperBound() && rhs.hasUpperBound()) {
                compare = lhs.upperEndpoint().compareTo(rhs.upperEndpoint());
            } else if (!lhs.hasUpperBound() && rhs.hasUpperBound()) {
                compare = -1;
            } else if (lhs.hasUpperBound() && !rhs.hasUpperBound()) {
                compare = 1;
            }
            return compare;
        }
    };

    TreeSet<Range> sortedIntervals = Sets.newTreeSet(startThenEnd);
    sortedIntervals.addAll(ranges);

    List<Range> retVal = Lists.newArrayList();

    Iterator<Range> intervalsIter = sortedIntervals.iterator();
    Range currInterval = intervalsIter.next();
    while (intervalsIter.hasNext()) {
        Range next = intervalsIter.next();
        if (currInterval.encloses(next)) {
            continue;
        }
        if (mergeable(currInterval, next)) {
            currInterval = currInterval.span(next);
        } else {
            retVal.add(currInterval);
            currInterval = next;
        }
    }
    retVal.add(currInterval);

    return retVal;
}

From source file:org.pshdl.model.extensions.RangeExtension.java

public static Optional<Range<BigInteger>> rangeOf(final HDLRange obj, final HDLEvaluationContext context) {
    HDLExpression _to = obj.getTo();/*  w  w  w.j ava 2  s .c o  m*/
    final Optional<Range<BigInteger>> to = RangeExtension.rangeOf(_to, context);
    boolean _isPresent = to.isPresent();
    boolean _not = (!_isPresent);
    if (_not) {
        return Optional.<Range<BigInteger>>absent();
    }
    HDLExpression _from = obj.getFrom();
    boolean _tripleNotEquals = (_from != null);
    if (_tripleNotEquals) {
        HDLExpression _from_1 = obj.getFrom();
        final Optional<Range<BigInteger>> from = RangeExtension.rangeOf(_from_1, context);
        boolean _isPresent_1 = from.isPresent();
        boolean _not_1 = (!_isPresent_1);
        if (_not_1) {
            return Optional.<Range<BigInteger>>absent();
        }
        Range<BigInteger> _get = from.get();
        Range<BigInteger> _get_1 = to.get();
        Range<BigInteger> _span = _get.span(_get_1);
        return Optional.<Range<BigInteger>>of(_span);
    }
    HDLExpression _dec = obj.getDec();
    boolean _tripleNotEquals_1 = (_dec != null);
    if (_tripleNotEquals_1) {
        HDLExpression _dec_1 = obj.getDec();
        final Optional<Range<BigInteger>> decVal = RangeExtension.rangeOf(_dec_1, context);
        boolean _isPresent_2 = decVal.isPresent();
        boolean _not_2 = (!_isPresent_2);
        if (_not_2) {
            return Optional.<Range<BigInteger>>absent();
        }
        Range<BigInteger> _get_2 = to.get();
        Range<BigInteger> _get_3 = decVal.get();
        Range<BigInteger> _span_1 = _get_2.span(_get_3);
        return Optional.<Range<BigInteger>>of(_span_1);
    }
    HDLExpression _inc = obj.getInc();
    boolean _tripleNotEquals_2 = (_inc != null);
    if (_tripleNotEquals_2) {
        HDLExpression _inc_1 = obj.getInc();
        final Optional<Range<BigInteger>> incVal = RangeExtension.rangeOf(_inc_1, context);
        boolean _isPresent_3 = incVal.isPresent();
        boolean _not_3 = (!_isPresent_3);
        if (_not_3) {
            return Optional.<Range<BigInteger>>absent();
        }
        Range<BigInteger> _get_4 = to.get();
        Range<BigInteger> _get_5 = incVal.get();
        Range<BigInteger> _span_2 = _get_4.span(_get_5);
        return Optional.<Range<BigInteger>>of(_span_2);
    }
    return to;
}

From source file:net.bican.iplib.IPAddresses.java

private static Set<Range<IPAddress>> findOneConnected(final Set<Range<IPAddress>> intervals) {
    Range<IPAddress> f1 = null;
    Range<IPAddress> f2 = null;/*from  w w w.  j  a v a2 s. co m*/
    for (final Range<IPAddress> s : intervals) {
        for (final Range<IPAddress> s2 : intervals) {
            final Range<IPAddress> sc = IPAddresses.canonical(s, s.lowerEndpoint().getDomain());
            final Range<IPAddress> sc2 = IPAddresses.canonical(s, s2.lowerEndpoint().getDomain());
            if ((sc.equals(sc2)) || (s.isConnected(s2))) {
                f1 = s;
                f2 = s2;
                break;
            }
        }
        if (f1 != null) {
            break;
        }
    }
    if (f1 != null) {
        final Set<Range<IPAddress>> newIntervals = new TreeSet<>(IPAddressRangeComparator.getComparator());
        newIntervals.addAll(intervals);
        final Range<IPAddress> f = f1.span(f2);
        newIntervals.remove(f1);
        newIntervals.remove(f2);
        newIntervals.add(f);
        return newIntervals;
    }
    return intervals;
}