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:org.terasology.dynamicCities.utilities.ProbabilityDistribution.java
public void initialise(Map<T, Float> probabilites) { ranges = new HashMap<>(); //check if sum of probabilites is 1 Float sum = 0f;/*from ww w . ja v a2 s .c o m*/ for (Float probability : probabilites.values()) { sum += probability; } if (!(TeraMath.fastAbs(sum - 1) < 0.01f)) { logger.error("Error initialising ProbabilityDistribution! Sum of probabilites was not 1!"); return; } float lastIndex = 0; for (Map.Entry<T, Float> entry : probabilites.entrySet()) { Range<Float> range = Range.closedOpen(lastIndex, lastIndex + entry.getValue()); lastIndex += entry.getValue(); ranges.put(range, entry.getKey()); } }
From source file:org.opendaylight.controller.cluster.datastore.utils.UnsignedLongRangeSet.java
public void add(final UnsignedLong value) { rangeset.add(Range.closedOpen(value, UnsignedLong.ONE.plus(value))); }
From source file:org.eclipse.fx.ui.controls.styledtext.internal.LineHelper.java
private Range<Integer> getSelection() { @NonNull/* ww w.j ava 2s . com*/ TextSelection selection = this.control.getSelection(); return Range.closedOpen(Integer.valueOf(selection.offset), Integer.valueOf(selection.offset + selection.length)); }
From source file:com.google.devtools.build.lib.profiler.SingleStatRecorder.java
/** Create an snapshot of the the stats recorded up to now. */ public MetricData snapshot() { synchronized (this) { ImmutableList.Builder<HistogramElement> result = ImmutableList.builder(); result.add(new HistogramElement(Range.closedOpen(0, 1), histogram[0])); int from = 1; for (int i = 1; i < histogram.length - 1; i++) { int to = from << 1; result.add(new HistogramElement(Range.closedOpen(from, to), histogram[i])); from = to;/*from w w w. j a va2s . c om*/ } result.add(new HistogramElement(Range.atLeast(from), histogram[histogram.length - 1])); return new MetricData(description, result.build(), count, avg, Math.sqrt(m2 / (double) count), max); } }
From source file:org.onosproject.store.resource.impl.EncodedResourcesSerializer.java
@Override public EncodedDiscreteResources read(Kryo kryo, Input input, Class<EncodedDiscreteResources> cls) { @SuppressWarnings("unchecked") List<ClosedOpenRange> ranges = kryo.readObject(input, ArrayList.class); DiscreteResourceCodec codec = (DiscreteResourceCodec) kryo.readClassAndObject(input); RangeSet<Integer> rangeSet = TreeRangeSet.create(); ranges.stream().map(x -> Range.closedOpen(x.lowerBound(), x.upperBound())).forEach(rangeSet::add); return new EncodedDiscreteResources(rangeSet, codec); }
From source file:com.cinchapi.concourse.server.concurrent.RangeTokens.java
/** * Convert the specified range {@code token} to one or more {@link Range * ranges} that provide the appropriate coverage. * /*w w w.ja va 2 s. c o m*/ * @param token * @return the Ranges */ public static Iterable<Range<Value>> convertToRange(RangeToken token) { List<Range<Value>> ranges = Lists.newArrayListWithCapacity(1); if (token.getOperator() == Operator.EQUALS || token.getOperator() == null) { // null operator means // the range token is for // writing ranges.add(Range.singleton(token.getValues()[0])); } else if (token.getOperator() == Operator.NOT_EQUALS) { ranges.add(Range.lessThan(token.getValues()[0])); ranges.add(Range.greaterThan(token.getValues()[0])); } else if (token.getOperator() == Operator.GREATER_THAN) { ranges.add(Range.greaterThan(token.getValues()[0])); } else if (token.getOperator() == Operator.GREATER_THAN_OR_EQUALS) { ranges.add(Range.atLeast(token.getValues()[0])); } else if (token.getOperator() == Operator.LESS_THAN) { ranges.add(Range.lessThan(token.getValues()[0])); } else if (token.getOperator() == Operator.LESS_THAN_OR_EQUALS) { ranges.add(Range.atMost(token.getValues()[0])); } else if (token.getOperator() == Operator.BETWEEN) { Value a = token.getValues()[0]; Value b = token.getValues()[1]; if (a == Value.NEGATIVE_INFINITY && b == Value.POSITIVE_INFINITY) { ranges.add(Range.<Value>all()); } else if (token.getValues().length == 3) { ranges.add(Range.open(a, b)); } else if (token.getValues().length == 4) { ranges.add(Range.closed(a, b)); } else if (token.getValues().length == 5) { ranges.add(Range.openClosed(a, b)); } else { ranges.add(Range.closedOpen(a, b)); } } else if (token.getOperator() == Operator.REGEX || token.getOperator() == Operator.NOT_REGEX) { ranges.add(Range.<Value>all()); } else { throw new UnsupportedOperationException(); } return ranges; }
From source file:com.google.cloud.genomics.dataflow.utils.PairGenerator.java
/** * * Generates all combinations (not permutations) of pairs of the elements in the iterable. * * The pairs are often used as keys for results in many n^2 analyses where we end up with * (n*(n-1))/2 or ((n*(n-1))/2)+n results. * * @param list// w w w. j a v a 2 s .com * @param comparator - used to enforce an order upon the elements within each pair * @return the pairs */ public <X, L extends List<? extends X> & RandomAccess> FluentIterable<KV<X, X>> allPairs(final L list, final Comparator<? super X> comparator) { return FluentIterable .from(ContiguousSet.create(Range.closedOpen(0, list.size()), DiscreteDomain.integers())) .transformAndConcat(new Function<Integer, Iterable<KV<X, X>>>() { @Override public Iterable<KV<X, X>> apply(final Integer i) { return new Iterable<KV<X, X>>() { @Override public Iterator<KV<X, X>> iterator() { int iteratorIndex = i; if (!withReplacement) { iteratorIndex++; } return Iterators.transform(list.listIterator(iteratorIndex), new Function<X, KV<X, X>>() { private final X key = list.get(i); @Override public KV<X, X> apply(X value) { boolean swap = 0 < comparator.compare(key, value); return KV.of(swap ? value : key, swap ? key : value); } }); } }; } }); }
From source file:it.units.malelab.ege.ge.mapper.MultiMapper.java
@Override public Node<T> map(BitsGenotype genotype, Map<String, Object> report) throws MappingException { int mapperIndex = 0; BitsGenotype innerGenotype = genotype; switch (selectionCriterion) { case RESERVED_BITS: { int mapperBits = (int) Math.ceil(Math.log10(mappers.size()) / Math.log10(2d)); mapperIndex = genotype.slice(0, mapperBits).toInt() % mappers.size(); innerGenotype = genotype.slice(mapperIndex, genotype.size()); break;//from ww w .j av a 2s . c o m } case ALL_MODULE: mapperIndex = genotype.count() % mappers.size(); break; case ALL_BINARY: { int mapperBits = (int) Math.ceil(Math.log10(mappers.size()) / Math.log10(2d)); int index = 0; List<BitsGenotype> slices = genotype .slices(Utils.slices(Range.closedOpen(0, genotype.size()), mapperBits)); for (int i = 0; i < mapperBits; i++) { int value = (int) Math.round((double) slices.get(i).count() / (double) slices.get(i).size()); index = index + value * (int) Math.pow(2, i); } mapperIndex = index % mappers.size(); break; } case ALL_MAX: { int maxIndex = 0; double maxValue = Double.NEGATIVE_INFINITY; List<BitsGenotype> slices = genotype .slices(Utils.slices(Range.closedOpen(0, genotype.size()), mappers.size())); for (int i = 0; i < slices.size(); i++) { double value = (double) slices.get(i).count() / (double) slices.get(i).size(); if (value > maxValue) { maxValue = value; maxIndex = i; } } mapperIndex = maxIndex; break; } default: break; } report.put(MAPPER_INDEX_NAME, mapperIndex); return mappers.get(mapperIndex).map(innerGenotype, report); }
From source file:edu.mit.streamjit.test.Datasets.java
public static Dataset allIntsInRange(int begin, int end) { return allIntsInRange(Range.closedOpen(begin, end)); }
From source file:com.shemnon.btc.coinbase.CBPriceHistory.java
private void loadPrices(long stoppingPoint) throws IOException, ParseException { while (lastDateQueried > stoppingPoint) { // hard coded date: 2011-07-18T00:00:00 URL priceQuery = new URL("https://coinbase.com/api/v1/prices/historical?page=" + ++lastPageQueried); BufferedReader br = new BufferedReader(new InputStreamReader(priceQuery.openStream())); String line;//from ww w . j av a 2 s.com while ((line = br.readLine()) != null) { String[] entry = line.split(","); if (entry.length == 2) { Date date = IBase.JSON_DATE.parse(entry[0]); double value = Double.parseDouble(entry[1]); priceMap.put(Range.closedOpen(date.getTime(), lastDateQueried), value); lastDateQueried = date.getTime(); } } } }