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

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

Introduction

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

Prototype

public static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper) 

Source Link

Document

Returns a range that contains all values greater than or equal to lower and strictly less than upper .

Usage

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

}