List of usage examples for com.google.common.collect Range upperEndpoint
public C upperEndpoint()
From source file:net.bican.iplib.IPAddresses.java
private static Set<Range<IPAddress>> fromConnectedInterval(final Range<IPAddress> interval) { if (interval.isEmpty()) { return null; }//from w ww . ja v a 2 s . co m int prefix = 0; final LongDiscreteDomain<IPAddress> domain = interval.lowerEndpoint().getDomain(); while (prefix <= domain.maxPrefix()) { final Range<IPAddress> thisRange = IPAddresses.canonical(interval, domain); final Range<IPAddress> otherRange = IPAddresses.fromCIDR(new CIDR(thisRange.lowerEndpoint(), prefix)); if (thisRange.equals(otherRange)) { TreeSet<Range<IPAddress>> result = new TreeSet<>(IPAddressRangeComparator.getComparator()); result.add(otherRange); return result; } else if (thisRange.encloses(otherRange)) { final Set<Range<IPAddress>> result = new TreeSet<>(IPAddressRangeComparator.getComparator()); result.add(otherRange); Range<IPAddress> newRange1 = Range.closedOpen(thisRange.lowerEndpoint(), otherRange.lowerEndpoint()); Range<IPAddress> newRange2 = Range.openClosed(otherRange.upperEndpoint(), thisRange.upperEndpoint()); final Set<Range<IPAddress>> results1 = IPAddresses.fromConnectedInterval(newRange1); if (results1 != null) { result.addAll(results1); } final Set<Range<IPAddress>> results2 = IPAddresses.fromConnectedInterval(newRange2); if (results2 != null) { result.addAll(results2); } return result; } prefix++; } return new TreeSet<>(Collections.singleton(interval)); }
From source file:net.sf.mzmine.modules.visualization.peaklisttable.PeakListTablePopupMenu.java
/** * Get a peak's m/z range./*from w ww .j a v a 2s.c om*/ * * @param peak * the peak. * @return The peak's m/z range. */ private static Range<Double> getPeakMZRange(final Feature peak) { final Range<Double> peakMZRange = peak.getRawDataPointsMZRange(); // By default, open the visualizer with the m/z range of // "peak_width x 2", but no smaller than 0.1 m/z, because with smaller // ranges VisAD tends to show nasty anti-aliasing artifacts. // For example of such artifacts, set mzMin = 440.27, mzMax = 440.28 and // mzResolution = 500 final double minRangeCenter = (peakMZRange.upperEndpoint() + peakMZRange.lowerEndpoint()) / 2.0; final double minRangeWidth = Math.max(0.1, (peakMZRange.upperEndpoint() - peakMZRange.lowerEndpoint()) * 2); double mzMin = minRangeCenter - (minRangeWidth / 2); if (mzMin < 0) mzMin = 0; double mzMax = minRangeCenter + (minRangeWidth / 2); return Range.closed(mzMin, mzMax); }
From source file:eu.itesla_project.modules.histo.HistoDbUtil.java
public static void fixVoltageLimits(Network network, HistoDbClient histoDbClient, Interval interval) throws IOException, InterruptedException { // resize voltage limits with historical data Set<HistoDbAttributeId> attributeIds = new LinkedHashSet<>(); for (VoltageLevel vl : network.getVoltageLevels()) { attributeIds.add(createVoltageAttributeId(vl)); }/*from w w w. j a v a 2s. c o m*/ HistoDbStats stats = histoDbClient.queryStats(attributeIds, interval, HistoDbHorizon.SN, true); for (VoltageLevel vl : network.getVoltageLevels()) { HistoDbNetworkAttributeId attributeId = createVoltageAttributeId(vl); Range<Float> histoVoltageRangePu = Range.closed( stats.getValue(HistoDbStatsType.P0_1, attributeId, Float.NaN) / vl.getNominalV(), stats.getValue(HistoDbStatsType.P99_9, attributeId, Float.NaN) / vl.getNominalV()); Set<EnergySource> energySources = EnumSet.noneOf(EnergySource.class); for (Generator g : vl.getGenerators()) { energySources.add(g.getEnergySource()); } Range<Float> networkVoltageRangePu = Float.isNaN(vl.getLowVoltageLimit()) || Float.isNaN(vl.getHighVoltageLimit()) ? Range.closed(Float.NaN, Float.NaN) : Range.closed(vl.getLowVoltageLimit() / vl.getNominalV(), vl.getHighVoltageLimit() / vl.getNominalV()); LOGGER.trace("Fix voltage range of {}: histo={}, network={}, energySources={}", vl.getId(), histoVoltageRangePu, networkVoltageRangePu, energySources); Range<Float> rangeToEnclosePu; if (energySources.isEmpty()) { rangeToEnclosePu = Range.closed( Float.isNaN(networkVoltageRangePu.lowerEndpoint()) ? VOLTAGE_RANGE_NO_GEN.lowerEndpoint() : networkVoltageRangePu.lowerEndpoint(), Float.isNaN(networkVoltageRangePu.upperEndpoint()) ? VOLTAGE_RANGE_NO_GEN.upperEndpoint() : networkVoltageRangePu.upperEndpoint()); } else { if (energySources.contains(EnergySource.NUCLEAR) || energySources.contains(EnergySource.THERMAL)) { rangeToEnclosePu = VOLTAGE_RANGE_NUCL_THE_PU; } else if (energySources.contains(EnergySource.HYDRO)) { rangeToEnclosePu = VOLTAGE_RANGE_HYD_PU; } else if (energySources.contains(EnergySource.SOLAR) || energySources.contains(EnergySource.WIND) || energySources.contains(EnergySource.OTHER)) { rangeToEnclosePu = VOLTAGE_RANGE_DEFAULT_GEN_PU; } else { throw new AssertionError(); } } Range<Float> rangePu = span(histoVoltageRangePu, rangeToEnclosePu); Range<Float> range = Range.closed(rangePu.lowerEndpoint() * vl.getNominalV(), rangePu.upperEndpoint() * vl.getNominalV()); LOGGER.debug("Voltage range of {}: {} Kv ({} pu)", vl.getId(), range, rangePu); // check that we have 0.1pu at least for each of the substation // if (rangePu.upperEndpoint() - rangePu.lowerEndpoint() < 0.1) { // throw new RuntimeException("Too tight voltage range " + rangePu + " for voltage level " + vl.getId() + " " + rangeToEnclosePu); // } vl.setLowVoltageLimit(range.lowerEndpoint()).setHighVoltageLimit(range.upperEndpoint()); } }
From source file:dollar.api.types.DollarFactory.java
/** * To json.//from w w w . ja v a2 s.c o m * * @param value the value * @return the object */ @Nullable public static Object toJson(@NotNull Value value) { Type i = value.$type(); if (i.is(Type._VOID) || i.is(Type._INTEGER) || i.is(Type._BOOLEAN) || i.is(Type._DECIMAL) || i.is(Type._STRING)) { return value.toJavaObject(); } else if (i.is(Type._DATE)) { final JsonObject jsonObject = new JsonObject(); jsonObject.putString(TYPE_KEY, value.$type().name()); jsonObject.putString(TEXT_KEY, value.$S()); jsonObject.putNumber(MILLISECOND_KEY, (long) (value.toDouble() * 24 * 60 * 60 * 1000)); return jsonObject; } else if (i.is(Type._URI)) { final JsonObject uriJsonObject = new JsonObject(); uriJsonObject.putString(TYPE_KEY, value.$type().name()); uriJsonObject.putString(VALUE_KEY, value.$S()); return uriJsonObject; } else if (i.is(Type._ERROR)) { final JsonObject errorJsonObject = new JsonObject(); errorJsonObject.putString(TYPE_KEY, value.$type().name()); errorJsonObject.putValue(VALUE_KEY, value.toJsonType()); return errorJsonObject; } else if (i.is(Type._INFINITY)) { final JsonObject infinityJsonObject = new JsonObject(); infinityJsonObject.putString(TYPE_KEY, value.$type().name()); infinityJsonObject.putValue(POSITIVE_KEY, value.positive()); return infinityJsonObject; } else if (i.is(Type._LIST) || i.is(Type._QUEUE)) { final JsonArray array = new JsonArray(); ImmutableList<Value> arrayList = value.toVarList(); for (Value v : arrayList) { array.add(toJson(v)); } return array; } else if (i.is(Type._MAP)) { return mapToJsonInternal(value); } else if (i.is(Type._RANGE)) { final JsonObject rangeObject = new JsonObject(); rangeObject.putString(TYPE_KEY, value.$type().name()); final Range<Value> range = value.toJavaObject(); rangeObject.putValue(LOWERBOUND_KEY, toJson(range.lowerEndpoint())); rangeObject.putValue(UPPERBOUND_KEY, toJson(range.upperEndpoint())); return rangeObject; } else if (i.is(Type._ANY)) { return null; } else { return mapToJsonInternal(value); } }
From source file:org.mskcc.shenkers.data.interval.DiscreteRangeMap.java
public double length(Range<Double> r) { return r.upperEndpoint() - r.lowerEndpoint(); }
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; }// w w w. ja va 2s .co 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:edu.cmu.sv.modelinference.eventtool.AvgEventGenerator.java
@Override public List<Event> computeEvents(List<Range<Integer>> eventIntervals, double[] ys, int stepSize) { List<Event> avgForEvents = new ArrayList<>(); int idx = 0;/*from ww w . ja va 2 s.co m*/ for (Range<Integer> event : eventIntervals) { double[] yData = new double[(event.upperEndpoint() - event.lowerEndpoint()) / stepSize]; for (int i = 0, r = event.lowerEndpoint(); r < event.upperEndpoint(); r += stepSize, i++, idx++) { yData[i] = ys[idx]; } avgForEvents.add(new Event(event, new AvgFeature(yData))); } return avgForEvents; }
From source file:org.calrissian.mango.domain.ip.CidrValueRangeIPv4.java
public CidrValueRangeIPv4(String cidrString) { Range<IPv4> range = cidrRange(cidrString); setStart(range.lowerEndpoint()); setStop(range.upperEndpoint()); }
From source file:fr.inria.eventcloud.load_balancing.criteria.Criterion.java
public Criterion(String name, LoadBalancer loadBalancer, Range<Double> domain) { this(name, loadBalancer, domain, domain.upperEndpoint(), domain.lowerEndpoint()); }
From source file:org.robotframework.ide.eclipse.main.plugin.assist.BaseAssistProposal.java
@Override public StyledString getStyledLabel() { final StyledString label = new StyledString(getLabel()); for (final Range<Integer> matchingRange : match) { final int length = Math.min(matchingRange.upperEndpoint() - matchingRange.lowerEndpoint(), label.length() - matchingRange.lowerEndpoint()); label.setStyle(matchingRange.lowerEndpoint(), length, Stylers.Common.MARKED_PREFIX_STYLER); }//from ww w . j a va 2 s. c o m return label; }