List of usage examples for com.google.common.collect Range closedOpen
public static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper)
From source file:algorithm.Breed.java
/** * Initialize the breeding selection with a uniform random number and * a fixed mutation rate instead of using a variable mutation rate. * //from w ww . jav a 2s . co m * @param random The random number generator * @param rate The fixed mutation rate as a percentage to use. */ public static void init(Random random, Double rate) { Breed.random = random; MUTATION = Range.closedOpen((int) (100 - rate * 100), 100); }
From source file:org.robotframework.ide.eclipse.main.plugin.assist.ProposalMatch.java
Optional<ProposalMatch> mapAndShiftToFragment(final int startIndex, final int length) { final List<Range<Integer>> rangesInDomain = new ArrayList<>(); final Range<Integer> targetDomain = Range.closedOpen(startIndex, startIndex + length); for (final Range<Integer> match : this) { if (match.encloses(targetDomain)) { rangesInDomain.add(targetDomain); } else if (targetDomain.encloses(match)) { rangesInDomain.add(match);//from www . j a v a2 s . co m } else if (match.lowerEndpoint().intValue() <= startIndex && startIndex <= match.upperEndpoint().intValue()) { rangesInDomain.add(Range.closedOpen(startIndex, match.upperEndpoint())); } else if (match.lowerEndpoint().intValue() <= startIndex + length && startIndex + startIndex <= match.upperEndpoint().intValue()) { rangesInDomain.add(Range.closedOpen(match.lowerEndpoint(), startIndex + length)); } } final List<Range<Integer>> newMatches = new ArrayList<>(); for (final Range<Integer> match : rangesInDomain) { newMatches .add(Range.closedOpen(match.lowerEndpoint() - startIndex, match.upperEndpoint() - startIndex)); } return newMatches.isEmpty() ? Optional.<ProposalMatch>empty() : Optional.of(new ProposalMatch(newMatches)); }
From source file:it.units.malelab.ege.ge.operator.LocalizedTwoPointsCrossover.java
@Override public List<BitsGenotype> apply(List<BitsGenotype> parents, Random random) { BitsGenotype parent0 = parents.get(0); BitsGenotype parent1 = parents.get(1); int pivot1, pivot2; pivot1 = random.nextInt(parent0.size()); do {// w w w .j a va 2s . c om pivot2 = random.nextInt(parent0.size()); } while (pivot1 == pivot2); int startIndex0 = Math.min(pivot2, pivot1); int endIndex0 = Math.max(pivot2, pivot1); int startIndex1 = (int) Math .round((double) startIndex0 * (double) parent1.size() / (double) parent0.size()); int endIndex1 = Math.min( Math.max((int) Math.round((double) endIndex0 * (double) parent1.size() / (double) parent0.size()), startIndex1 + 1), parent1.size()); return children(parent0, Range.closedOpen(startIndex0, endIndex0), parent1, Range.closedOpen(startIndex1, endIndex1)); }
From source file:org.obm.push.minig.imap.impl.MessageSetUtils.java
public static MessageSet computeEmailsUID(Snapshot snapshot, long currentUIDNext) { Preconditions.checkNotNull(snapshot, "snapshot can't be null"); Preconditions.checkArgument(snapshot.getUidNext().isPresent(), "Cannot build range without UIDNEXT"); return MessageSet.from(snapshot.getMessageSet()) .add(Range.closedOpen(snapshot.getUidNext().get(), currentUIDNext)).build(); }
From source file:io.druid.server.coordinator.rules.SizeDropRule.java
@JsonCreator public SizeDropRule(@JsonProperty("low") long low, @JsonProperty("high") long high) { this.low = low; this.high = high; this.range = Range.closedOpen(low, high); }
From source file:it.units.malelab.ege.ge.operator.TwoPointsCrossover.java
@Override public List<BitsGenotype> apply(List<BitsGenotype> parents, Random random) { BitsGenotype parent1 = parents.get(0); BitsGenotype parent2 = parents.get(1); int pivot1, pivot2; int startIndex1, startIndex2, endIndex1, endIndex2; pivot1 = random.nextInt(parent1.size() - 1); do {/* ww w . ja va 2 s . c o m*/ pivot2 = random.nextInt(parent1.size() - 1); } while (pivot1 == pivot2); startIndex1 = Math.min(pivot2, pivot1); endIndex1 = Math.max(pivot2, pivot1); pivot1 = 1 + random.nextInt(parent2.size() - 1); do { pivot2 = 1 + random.nextInt(parent2.size() - 1); } while (pivot1 == pivot2); startIndex2 = Math.min(pivot2, pivot1); endIndex2 = Math.max(pivot2, pivot1); return children(parent1, Range.closedOpen(startIndex1, endIndex1), parent2, Range.closedOpen(startIndex2, endIndex2)); }
From source file:org.robotframework.ide.eclipse.main.plugin.assist.ProposalMatchers.java
public static ProposalMatcher pathsMatcher() { return new ProposalMatcher() { @Override//from w ww. j a va 2 s . c om public Optional<ProposalMatch> matches(final String userContent, final String proposalContent) { if (proposalContent.toLowerCase().startsWith(userContent.toLowerCase())) { return Optional.of(new ProposalMatch(Range.closedOpen(0, userContent.length()))); } final int index = proposalContent.toLowerCase().indexOf("/" + userContent.toLowerCase()); if (index >= 0) { return Optional .of(new ProposalMatch(Range.closedOpen(index + 1, index + 1 + userContent.length()))); } return Optional.empty(); } }; }
From source file:org.robotframework.red.nattable.TableCellStringData.java
public void createHyperlinkAt(final int startIndex, final int endIndex) { this.hyperlinkRange = Range.closedOpen(startIndex, endIndex); }
From source file:eu.interedition.text.xml.OffsetMapper.java
@Override public void start() { this.sourceOffset = 0; this.sourceOffsetRange = Range.closedOpen(0, 0); this.textOffsetRange = Range.closedOpen(0, 0); }
From source file:org.openmhealth.shimmer.common.transformer.FixedTimeZoneDateTimeRangeTransformer.java
@Override public Range<OffsetDateTime> transformRange(Range<OffsetDateTime> inputRange) { if (inputRange.hasLowerBound() && inputRange.hasUpperBound()) { return Range.closedOpen(toFixedTimeZone(inputRange.lowerEndpoint()), toFixedTimeZone(inputRange.upperEndpoint())); }/* w w w . j a va 2 s . c o m*/ if (inputRange.hasLowerBound()) { return Range.atLeast(toFixedTimeZone(inputRange.lowerEndpoint())); } if (inputRange.hasUpperBound()) { return Range.lessThan(toFixedTimeZone(inputRange.upperEndpoint())); } return Range.all(); }