List of usage examples for com.google.common.collect Range upperEndpoint
public C upperEndpoint()
From source file:com.google.googlejavaformat.java.GoogleJavaFormatter.java
/** @return {@code true} if input and output texts are equal, else {@code false}. */ private boolean idempotent(String source, IRegion[] regions, List<Replacement> replacements) { // This implementation only checks for single replacement. if (replacements.size() == 1) { Replacement replacement = replacements.get(0); String output = replacement.getReplacementString(); // Entire source case: input = output, nothing changed. if (output.equals(source)) { return true; }/*from w ww. j ava2 s . c o m*/ // Single region and single replacement case: if they are equal, nothing changed. if (regions.length == 1) { Range<Integer> range = replacement.getReplaceRange(); String snippet = source.substring(range.lowerEndpoint(), range.upperEndpoint()); if (output.equals(snippet)) { return true; } } } return false; }
From source file:it.units.malelab.ege.ge.mapper.BitsSGEMapper.java
public BitsSGEMapper(int maxDepth, Grammar<T> grammar) { super(grammar); this.maxDepth = maxDepth; nonRecursiveGrammar = Utils.resolveRecursiveGrammar(grammar, maxDepth); Map<Pair<T, Integer>, Range<Integer>> codonsRangesMap = new LinkedHashMap<>(); int startingIndex = 0; for (Pair<T, Integer> p : nonRecursiveGrammar.getRules().keySet()) { int maximumExpansions = maximumExpansions(p, nonRecursiveGrammar); codonsRangesMap.put(p, Range.closedOpen(startingIndex, startingIndex + maximumExpansions)); startingIndex = startingIndex + maximumExpansions; }//from w w w.ja va 2s.co m nonTerminals = new ArrayList<>(codonsRangesMap.keySet()); nonTerminalSizes = new ArrayList<>(); nonTerminalCodonsNumbers = new ArrayList<>(); overallSize = 0; for (Pair<T, Integer> nonTerminal : nonTerminals) { Range<Integer> range = codonsRangesMap.get(nonTerminal); int nonTerminalCodonsNumber = range.upperEndpoint() - range.lowerEndpoint(); int codonSize = (int) Math.max( Math.ceil(Math.log10(nonRecursiveGrammar.getRules().get(nonTerminal).size()) / Math.log10(2)), 1); nonTerminalSizes.add(nonTerminalCodonsNumber * codonSize); nonTerminalCodonsNumbers.add(nonTerminalCodonsNumber); overallSize = overallSize + nonTerminalCodonsNumber * codonSize; } }
From source file:com.github.fge.grappa.buffers.CharSequenceInputBuffer.java
@Override public String extractLine(int lineNumber) { Preconditions.checkArgument(lineNumber > 0, "line number is negative"); LineCounter counter = lineCounter; //Futures.getUnchecked(lineCounter); Range<Integer> range = counter.getLineRange(lineNumber); int start = range.lowerEndpoint(); int end = range.upperEndpoint(); if (charAt(end - 1) == '\n') end--;/*from w w w . j a v a2s . c om*/ if (charAt(end - 1) == '\r') end--; return extract(start, end); }
From source file:com.yahoo.gondola.container.BucketManager.java
private void loadBucketTable() { Range<Integer> range;//from w w w . j a v a 2 s . c o m int numBuckets = 0; for (String shardId : config.getShardIds()) { Map<String, String> attributesForShard = config.getAttributesForShard(shardId); String bucketMapString = attributesForShard.get("bucketMap"); bucketMapString = validateBucketString(shardId, bucketMapString); if (bucketMapString == null) { continue; } for (String str : bucketMapString.split(",")) { String[] rangePair = str.split("-"); switch (rangePair.length) { case 1: range = Range.closed(Integer.parseInt(rangePair[0]), Integer.parseInt(rangePair[0])); break; case 2: range = Range.closed(Integer.valueOf(rangePair[0]), Integer.valueOf(rangePair[1])); break; default: throw new IllegalStateException("Range format: x - y or x, but get " + str); } if (range.lowerEndpoint() < 0) { throw new IllegalStateException("Bucket id must > 0"); } bucketMap.put(range, new ShardState(shardId, null)); } } for (Map.Entry<Range<Integer>, ShardState> e : bucketMap.asMapOfRanges().entrySet()) { Range<Integer> r = e.getKey(); numBuckets += (r.upperEndpoint() - r.lowerEndpoint() + 1); } numberOfBuckets = numBuckets; validateBucketMap(); }
From source file:org.apache.drill.exec.store.AffinityCalculator.java
/** * For a given RowGroup, calculate how many bytes are available on each on drillbit endpoint * * @param rowGroup the RowGroup to calculate endpoint bytes for *///from w ww.j a v a 2s .c o m public void setEndpointBytes(ParquetGroupScan.RowGroupInfo rowGroup) { Stopwatch watch = new Stopwatch(); watch.start(); String fileName = rowGroup.getPath(); if (!blockMapMap.containsKey(fileName)) { buildBlockMap(fileName); } ImmutableRangeMap<Long, BlockLocation> blockMap = blockMapMap.get(fileName); HashMap<String, Long> hostMap = new HashMap<>(); HashMap<DrillbitEndpoint, Long> endpointByteMap = new HashMap(); long start = rowGroup.getStart(); long end = start + rowGroup.getLength(); Range<Long> rowGroupRange = Range.closedOpen(start, end); // Find submap of ranges that intersect with the rowGroup ImmutableRangeMap<Long, BlockLocation> subRangeMap = blockMap.subRangeMap(rowGroupRange); // Iterate through each block in this submap and get the host for the block location for (Map.Entry<Range<Long>, BlockLocation> block : subRangeMap.asMapOfRanges().entrySet()) { String[] hosts; Range<Long> blockRange = block.getKey(); try { hosts = block.getValue().getHosts(); } catch (IOException ioe) { throw new RuntimeException("Failed to get hosts for block location", ioe); } Range<Long> intersection = rowGroupRange.intersection(blockRange); long bytes = intersection.upperEndpoint() - intersection.lowerEndpoint(); // For each host in the current block location, add the intersecting bytes to the corresponding endpoint for (String host : hosts) { DrillbitEndpoint endpoint = getDrillBitEndpoint(host); if (endpointByteMap.containsKey(endpoint)) { endpointByteMap.put(endpoint, endpointByteMap.get(endpoint) + bytes); } else { if (endpoint != null) endpointByteMap.put(endpoint, bytes); } } } rowGroup.setEndpointBytes(endpointByteMap); rowGroup.setMaxBytes(endpointByteMap.size() > 0 ? Collections.max(endpointByteMap.values()) : 0); logger.debug("Row group ({},{}) max bytes {}", rowGroup.getPath(), rowGroup.getStart(), rowGroup.getMaxBytes()); watch.stop(); logger.debug("Took {} ms to set endpoint bytes", watch.elapsed(TimeUnit.MILLISECONDS)); }
From source file:com.google.googlejavaformat.java.GoogleJavaFormatter.java
private TextEdit editFromReplacements(List<Replacement> replacements) { // Split the replacements that cross line boundaries. TextEdit edit = new MultiTextEdit(); for (Replacement replacement : replacements) { Range<Integer> replaceRange = replacement.getReplaceRange(); edit.addChild(new ReplaceEdit(replaceRange.lowerEndpoint(), replaceRange.upperEndpoint() - replaceRange.lowerEndpoint(), replacement.getReplacementString())); }/* w w w .j a v a2s .co m*/ return edit; }
From source file:org.noroomattheinn.timeseries.InMemoryTS.java
@Override public NavigableMap<Long, Row> getIndex(Range<Long> period) { long from = period.hasLowerBound() ? period.lowerEndpoint() : 0; long to = period.hasUpperBound() ? period.upperEndpoint() : Long.MAX_VALUE; return index.subMap(from, true, to, true); }
From source file:it.units.malelab.ege.ge.operator.TwoPointsCrossover.java
protected List<BitsGenotype> children(BitsGenotype parent1, Range<Integer> range1, BitsGenotype parent2, Range<Integer> range2) { int startIndex1 = range1.lowerEndpoint(); int startIndex2 = range2.lowerEndpoint(); int endIndex1 = range1.upperEndpoint(); int endIndex2 = range2.upperEndpoint(); int child1Size = parent1.size() - (endIndex1 - startIndex1) + (endIndex2 - startIndex2); int child2Size = parent2.size() - (endIndex2 - startIndex2) + (endIndex1 - startIndex1); BitsGenotype child1 = new BitsGenotype(child1Size); BitsGenotype child2 = new BitsGenotype(child2Size); if (startIndex1 > 0) { child1.set(0, parent1.slice(0, startIndex1)); }/*from w ww. j a v a 2 s . co m*/ if (startIndex2 > 0) { child2.set(0, parent2.slice(0, startIndex2)); } child1.set(startIndex1, parent2.slice(startIndex2, endIndex2)); child2.set(startIndex2, parent1.slice(startIndex1, endIndex1)); if (endIndex1 < parent1.size()) { child1.set(startIndex1 + endIndex2 - startIndex2, parent1.slice(endIndex1, parent1.size())); } if (endIndex2 < parent2.size()) { child2.set(startIndex2 + endIndex1 - startIndex1, parent2.slice(endIndex2, parent2.size())); } return Arrays.asList(child1, child2); }
From source file:org.mskcc.shenkers.view.GeneViewBuilder.java
public RangeSet<Integer> asClosed(RangeSet<Integer> s) { RangeSet<Integer> exons = TreeRangeSet.create(); for (Range<Integer> r : s.asRanges()) { exons.add(Range.closed(r.lowerBoundType() == BoundType.OPEN ? r.lowerEndpoint() + 1 : r.lowerEndpoint(), r.upperBoundType() == BoundType.OPEN ? r.upperEndpoint() - 1 : r.upperEndpoint())); }/*from w w w. j a va 2s .co m*/ return exons; }
From source file:utils.CreateFromSelection.java
@Override public void actionPerformed(ActionEvent e) { CoolMapObject obj = CoolMapMaster.getActiveCoolMapObject(); if (obj == null) { CMConsole.logWarning("No active coolmap in view. Create new view aborted"); return;/*from w w w. j ava2 s .c om*/ } CoolMapView view = obj.getCoolMapView(); ArrayList<Range<Integer>> selectedRows = view.getSelectedRows(); ArrayList<Range<Integer>> selectedColumns = view.getSelectedColumns(); if (selectedRows.isEmpty() || selectedColumns.isEmpty()) { CMConsole.logWarning("No region(s) were selected in view. Create new view aborted"); return; } ArrayList<VNode> newRowNodes = new ArrayList<VNode>(); ArrayList<VNode> newColumnNodes = new ArrayList<VNode>(); for (Range<Integer> range : selectedRows) { for (int i = range.lowerEndpoint(); i < range.upperEndpoint(); i++) { newRowNodes.add(obj.getViewNodeRow(i).duplicate()); } } for (Range<Integer> range : selectedColumns) { for (int i = range.lowerEndpoint(); i < range.upperEndpoint(); i++) { newColumnNodes.add(obj.getViewNodeColumn(i).duplicate()); } } CoolMapObject newObject = new CoolMapObject(); List<CMatrix> baseCMatrices = obj.getBaseCMatrices(); for (CMatrix mx : baseCMatrices) { newObject.addBaseCMatrix(mx); } newObject.insertRowNodes(newRowNodes); newObject.insertColumnNodes(newColumnNodes); if (obj.getAggregator() != null) { try { CAggregator aggr = (CAggregator) (obj.getAggregator().getClass().newInstance()); aggr.restoreState(obj.getAggregator().getCurrentState()); newObject.setAggregator(aggr); } catch (Exception ex) { CMConsole.logWarning( "Could not initialize aggregator " + obj.getAggregator() + ", using default instead."); newObject.setAggregator(new PassThrough()); } } else { newObject.setAggregator(new PassThrough()); } if (obj.getViewRenderer() != null) { try { ViewRenderer renderer = (ViewRenderer) (obj.getViewRenderer().getClass().newInstance()); newObject.setViewRenderer(renderer, true); // System.out.println("Current state:" + obj.getViewRenderer().getCurrentState()); renderer.restoreState(obj.getViewRenderer().getCurrentState()); } catch (Exception ex) { CMConsole.logWarning( "Could not initialize aggregator " + obj.getAggregator() + ", using default instead."); newObject.setViewRenderer(new TextRenderer(), true); } } else { newObject.setViewRenderer(new TextRenderer(), true); } if (obj.getSnippetConverter() != null) { try { SnippetConverter convert = obj.getSnippetConverter().getClass().newInstance(); convert.restoreState(obj.getSnippetConverter().getCurrentState()); newObject.setSnippetConverter(convert); } catch (Exception ex) { //do nothing } } //newObject newObject.getCoolMapView().addColumnMap(new ColumnLabels(newObject)); newObject.getCoolMapView().addColumnMap(new ColumnTree(newObject)); newObject.getCoolMapView().addRowMap(new RowLabels(newObject)); newObject.getCoolMapView().addRowMap(new RowTree(newObject)); newObject.setName(obj.getName() + " subregion"); CoolMapMaster.addNewCoolMapObject(newObject); }