List of usage examples for com.google.common.collect DiscreteDomain longs
public static DiscreteDomain<Long> longs()
From source file:com.stackframe.base.Numbers.java
private static Set<Number> positiveIntegers() { // Consider adding BigInteger and other subclasses of Number that are integers. Set<? extends Number> longKeys = ContiguousSet.create(Range.greaterThan(0L), DiscreteDomain.longs()); Set<? extends Number> intKeys = ContiguousSet.create(Range.greaterThan(0), DiscreteDomain.integers()); return Sets.union(longKeys, intKeys); }
From source file:io.techcode.velox.math.FastMath.java
/** * Returns a random long value defined by the range. * * @param range range definition./*from w w w. j a va2s .c om*/ * @return random long value. */ public static long randomLong(Range<Long> range) { return randomGeneric(range, DiscreteDomain.longs()); }
From source file:org.locationtech.geogig.osm.internal.history.HistoryDownloader.java
/** * @return the next available changeset, or absent if reached the last one * @throws IOException//from www . j a v a2s . c o m * @throws InterruptedException */ public Iterator<Changeset> fetchChangesets() { Range<Long> range = Range.closed(initialChangeset, finalChangeset); ContiguousSet<Long> changesetIds = ContiguousSet.create(range, DiscreteDomain.longs()); final int fetchSize = 100; Iterator<List<Long>> partitions = Iterators.partition(changesetIds.iterator(), fetchSize); Function<List<Long>, Iterator<Changeset>> asChangesets = new Function<List<Long>, Iterator<Changeset>>() { @Override public Iterator<Changeset> apply(List<Long> batchIds) { Iterable<Changeset> changesets = downloader.fetchChangesets(batchIds); for (Changeset changeset : changesets) { if (filter.apply(changeset)) { Supplier<Optional<File>> changesFile; changesFile = downloader.fetchChanges(changeset.getId()); Supplier<Optional<Iterator<Change>>> changes = new ChangesSupplier(changesFile); changeset.setChanges(changes); } } return changesets.iterator(); } }; Iterator<Iterator<Changeset>> changesets = Iterators.transform(partitions, asChangesets); Iterator<Changeset> concat = Iterators.concat(changesets); return concat; }
From source file:org.obm.push.minig.imap.impl.ImapMessageSet.java
private String rangeAsString(Range<Long> range) { ContiguousSet<Long> rangeAsSet = ContiguousSet.create(range, DiscreteDomain.longs()); if (rangeAsSet.size() == 1) { return singleValueRangeAsString(rangeAsSet); } else {// ww w . j a va 2 s. com return intervalRangeAsString(rangeAsSet); } }
From source file:org.geogig.osm.internal.history.HistoryDownloader.java
public void downloadAll(ProgressListener progressListener) { RemoteChangesetDownloader downloader = (RemoteChangesetDownloader) this.downloader; Range<Long> range = Range.closed(initialChangeset, finalChangeset); ContiguousSet<Long> changesetIds = ContiguousSet.create(range, DiscreteDomain.longs()); progressListener/*from w w w . j av a 2 s . c o m*/ .setDescription("Downloading changesets " + initialChangeset + " to " + finalChangeset + "..."); final int readTimeoutMinutes = 20; final AtomicBoolean abortFlag = new AtomicBoolean(); List<Future<Long>> futures = new LinkedList<>(); for (Long changesetId : changesetIds) { try { Future<Long> future = downloader.download(changesetId, readTimeoutMinutes, abortFlag); futures.add(future); } catch (IOException e) { e.printStackTrace(); throw Throwables.propagate(e); } } for (Future<Long> f : futures) { try { Long id = f.get(); if (-1L == id.longValue()) { continue; } progressListener.setDescription("Downloaded changeset " + id + "."); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); throw Throwables.propagate(e); } } progressListener.setDescription("Done!"); }
From source file:org.nmdp.ngs.tools.EvaluateScaffolds.java
@Override public Integer call() throws Exception { PrintWriter writer = null;// w w w . j a v a2s.co m try { writer = writer(evalFile); Sequence reference = readReference(); List<Sequence> scaffolds = readScaffolds(); writer.println("#reference length = " + reference.length()); writer.println("#scaffold count = " + scaffolds.size()); writer.println("#scaffold lengths = " + dumpLengths(scaffolds)); RangeSet<Long> ranges = TreeRangeSet.create(); for (HighScoringPair hsp : blastn(referenceFastaFile, scaffoldsFastaFile)) { if (reference.getName().equals(hsp.target())) { writer.println("#" + hsp.toString()); if (hsp.targetStart() <= hsp.targetEnd()) { // strands match ranges.add(Range.closed(hsp.targetStart(), hsp.targetEnd())); } else { ranges.add(Range.closed(hsp.targetEnd(), hsp.targetStart())); } } } writer.println("#coalesced intervals = " + ranges); long breadthOfCoverage = 0; for (Range<Long> range : ranges.asRanges()) { breadthOfCoverage += ContiguousSet.create(range, DiscreteDomain.longs()).size(); } double normalizedBreadthOfCoverage = (double) breadthOfCoverage / (double) reference.length(); writer.println("#breadth-of-coverage = " + breadthOfCoverage); writer.println("#normalized breadth-of-coverage = " + normalizedBreadthOfCoverage); StringBuilder sb = new StringBuilder(); sb.append(referenceFastaFile.getName()); sb.append("\t"); sb.append(scaffoldsFastaFile.getName()); sb.append("\t"); sb.append(reference.length()); sb.append("\t"); sb.append(scaffolds.size()); sb.append("\t"); sb.append(ranges.asRanges().size()); sb.append("\t"); sb.append(breadthOfCoverage); sb.append("\t"); sb.append(normalizedBreadthOfCoverage); sb.append("\t"); writer.println(sb.toString()); return 0; } finally { try { writer.close(); } catch (Exception e) { // ignore } } }
From source file:com.google.android.apps.forscience.whistlepunk.sensordb.SensorDatabaseImpl.java
/** * Gets the selection string and selectionArgs based on the tag, range and resolution tier. * * @return a pair where the first element is the selection string and the second element is the * array of selectionArgs./*from w w w. j ava2 s .c o m*/ */ private Pair<String, String[]> getSelectionAndArgs(String sensorTag, TimeRange range, int resolutionTier) { List<String> clauses = new ArrayList<>(); List<String> values = new ArrayList<>(); clauses.add(ScalarSensorsTable.Column.TAG + " = ?"); values.add(sensorTag); if (resolutionTier >= 0) { clauses.add(ScalarSensorsTable.Column.RESOLUTION_TIER + " = ?"); values.add(String.valueOf(resolutionTier)); } Range<Long> times = range.getTimes(); Range<Long> canonicalTimes = times.canonical(DiscreteDomain.longs()); if (canonicalTimes.hasLowerBound()) { String comparator = (canonicalTimes.lowerBoundType() == BoundType.CLOSED) ? " >= ?" : " > ?"; clauses.add(ScalarSensorsTable.Column.TIMESTAMP_MILLIS + comparator); values.add(String.valueOf(canonicalTimes.lowerEndpoint())); } if (canonicalTimes.hasUpperBound()) { String comparator = (canonicalTimes.upperBoundType() == BoundType.CLOSED) ? " =< ?" : " < ?"; clauses.add(ScalarSensorsTable.Column.TIMESTAMP_MILLIS + comparator); values.add(String.valueOf(canonicalTimes.upperEndpoint())); } return new Pair<>(Joiner.on(" AND ").join(clauses), values.toArray(new String[values.size()])); }
From source file:org.geogig.osm.internal.history.HistoryDownloader.java
/** * @return the next available changeset, or absent if reached the last one * @throws IOException// w w w .j a v a2 s . c om * @throws InterruptedException */ public Iterator<Changeset> fetchChangesets() { Range<Long> range = Range.closed(initialChangeset, finalChangeset); ContiguousSet<Long> changesetIds = ContiguousSet.create(range, DiscreteDomain.longs()); final int fetchSize = 100; Iterable<List<Long>> partitions = Iterables.partition(changesetIds, fetchSize); final Function<List<Long>, Iterable<Changeset>> asChangesets = (batchIds) -> { Iterable<Changeset> changesets = downloader.fetchChangesets(batchIds); return changesets; }; Iterable<Iterable<Changeset>> changesets = Iterables.transform(partitions, asChangesets); Iterable<Changeset> concat = Iterables.concat(changesets); return concat.iterator(); }
From source file:com.google.android.apps.forscience.whistlepunk.GraphPopulator.java
private Range<Long> getEffectiveAddedRange(TimeRange requested, Range<Long> returned) { if (returned == null) { return requested.getTimes().canonical(DiscreteDomain.longs()); }//from w w w .j a v a2s. c o m switch (requested.getOrder()) { case NEWEST_FIRST: return Range.closed(returned.lowerEndpoint(), requested.getTimes().upperEndpoint()); case OLDEST_FIRST: return Range.closed(requested.getTimes().lowerEndpoint(), returned.upperEndpoint()); default: throw new IllegalArgumentException("Unexpected value for enum: " + requested.getOrder()); } }
From source file:org.obm.push.mail.bean.MessageSet.java
public Iterable<Long> asDiscreteValues() { return Iterables.concat(Iterables.transform(ranges, new Function<Range<Long>, Set<Long>>() { @Override/* www .ja va 2 s . c om*/ public Set<Long> apply(Range<Long> input) { return ContiguousSet.create(input, DiscreteDomain.longs()); } })); }