@Override public NumericRange getDenormalizedRanges(final BinRange binnedRange) { final long startOfEpochMillis = getStartEpoch(binnedRange.getBinId()); final long minMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMin(); final long maxMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMax(); return new NumericRange(minMillis, maxMillis); }
@Override public NumericRange getDenormalizedRanges(BinRange binnedRange) { int bin = ByteBuffer.wrap(binnedRange.getBinId()).getInt(); double center = bin * interval; if (binnedRange.isFullExtent()) { return new NumericRange(center - halfInterval, center + halfInterval); } return new NumericRange( center + binnedRange.getNormalizedMin(), center + binnedRange.getNormalizedMax()); }
@Override public NumericRange getDenormalizedRange(final BinRange range) { return new NumericRange(range.getNormalizedMin(), range.getNormalizedMax()); }
@Override public BinRange[] getNormalizedRanges(final NumericData range) { if (range == null) { return new BinRange[0]; } return new BinRange[] { new BinRange( // by default clamp to the min and max clamp(range.getMin()), clamp(range.getMax()))}; }
@Override public NumericRange getDenormalizedRange(final BinRange range) { return new NumericRange(range.getNormalizedMin(), range.getNormalizedMax()); }
BinValue value = getBinnedValue(index.getMin()); return new BinRange[] { new BinRange( value.getBinId(), value.getNormalizedValue(), ByteBuffer buf = ByteBuffer.allocate(4); buf.putInt((int) minBin); return new BinRange[] {new BinRange(buf.array(), min, max, false)}; new BinRange( intToBinary(minBin), (index.getMin() - interval * minBin), false); for (int b = minBin + 1; b < maxBin; b++) { retVal[b - minBin] = new BinRange(intToBinary(b), -halfInterval, halfInterval, true); new BinRange( intToBinary(maxBin), -halfInterval,
@Override public NumericRange getDenormalizedRanges(final BinRange binnedRange) { final Calendar startofEpoch = getStartEpoch(binnedRange.getBinId()); final long startOfEpochMillis = startofEpoch.getTimeInMillis(); final long minMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMin(); final long maxMillis = startOfEpochMillis + (long) binnedRange.getNormalizedMax(); return new NumericRange(minMillis, maxMillis); } }
binnedQueries[i] = new double[binsPerDimension.length]; if ((binsPerDimension[d][b].getNormalizedMax() - binsPerDimension[d][b].getNormalizedMin()) <= 0.000000001) { binnedQueries[i][d] = 0; } else { log2( Math.ceil( (binsPerDimension[d][b].getNormalizedMax() - binsPerDimension[d][b].getNormalizedMin()) / cellRangePerDimension[d]));
new BinRange( getBinId(epochIterator), startMillis - epochIterator,
public static MultiDimensionalCoordinateRanges getCoordinateRanges( final BinRange[][] binRangesPerDimension, final SpaceFillingCurve sfc, final int numDimensions, final byte tier) { final CoordinateRange[][] coordinateRangesPerDimension = new CoordinateRange[numDimensions][]; for (int d = 0; d < coordinateRangesPerDimension.length; d++) { coordinateRangesPerDimension[d] = new CoordinateRange[binRangesPerDimension[d].length]; for (int i = 0; i < binRangesPerDimension[d].length; i++) { final long[] range = sfc.normalizeRange( binRangesPerDimension[d][i].getNormalizedMin(), binRangesPerDimension[d][i].getNormalizedMax(), d); coordinateRangesPerDimension[d][i] = new CoordinateRange(range[0], range[1], binRangesPerDimension[d][i].getBinId()); } } return new MultiDimensionalCoordinateRanges(new byte[] {tier}, coordinateRangesPerDimension); }
public static MultiDimensionalNumericData getRangeForId( final byte[] rowId, final NumericDimensionDefinition[] baseDefinitions, final SpaceFillingCurve sfc) { final SFCIdAndBinInfo sfcIdAndBinInfo = getSFCIdAndBinInfo(rowId, baseDefinitions); final MultiDimensionalNumericData numericData = sfc.getRanges(sfcIdAndBinInfo.sfcId); // now we need to unapply the bins to the data, denormalizing the // ranges to the native bounds if (sfcIdAndBinInfo.rowIdOffset > 1) { final NumericData[] data = numericData.getDataPerDimension(); for (final Entry<Integer, byte[]> entry : sfcIdAndBinInfo.binIds.entrySet()) { final int dimension = entry.getKey(); final NumericRange range = baseDefinitions[dimension].getDenormalizedRange( new BinRange( entry.getValue(), data[dimension].getMin(), data[dimension].getMax(), false)); data[dimension] = range; } return new BasicNumericDataset(data); } return numericData; }
next = new BinnedNumericDataset( binRangesPerDimension[dimension][i].getBinId(), new BasicNumericDataset(rangePerDimension)); ByteArrayUtils.combineArrays( current.getBinId(), binRangesPerDimension[dimension][i].getBinId()); next = new BinnedNumericDataset(combinedBinId, new BasicNumericDataset(rangePerDimension)); binRangesPerDimension[dimension][i].getNormalizedMin(), binRangesPerDimension[dimension][i].getNormalizedMax()); generatePermutations(binRangesPerDimension, result, dimension + 1, next);
new BinRange( getBinId(cal), startMillis - epochIterator,