@Override public void recordConvertedDoubleValueWithCount(final double value, final long count) throws ArrayIndexOutOfBoundsException { long criticalValue = wrp.writerCriticalSectionEnter(); try { long integerValue = (long) (value * activeCounts.doubleToIntegerValueConversionRatio); int index = countsArrayIndex(integerValue); activeCounts.addAndGet( normalizeIndex(index, activeCounts.getNormalizingIndexOffset(), activeCounts.length()), count); updateMinAndMax(integerValue); addToTotalCount(count); } finally { wrp.writerCriticalSectionExit(criticalValue); } }
@Override void addToCountAtIndex(final int index, final long value) { long criticalValue = wrp.writerCriticalSectionEnter(); try { activeCounts.addAndGet( normalizeIndex(index, activeCounts.getNormalizingIndexOffset(), activeCounts.length()), value); } finally { wrp.writerCriticalSectionExit(criticalValue); } }
@Override public void recordConvertedDoubleValueWithCount(final double value, final long count) throws ArrayIndexOutOfBoundsException { long criticalValue = wrp.writerCriticalSectionEnter(); try { long integerValue = (long) (value * activeCounts.doubleToIntegerValueConversionRatio); int index = countsArrayIndex(integerValue); activeCounts.addAndGet( normalizeIndex(index, activeCounts.getNormalizingIndexOffset(), activeCounts.length()), count); updateMinAndMax(integerValue); addToTotalCount(count); } finally { wrp.writerCriticalSectionExit(criticalValue); } }
@Override void addToCountAtIndex(final int index, final long value) { long criticalValue = wrp.writerCriticalSectionEnter(); try { activeCounts.addAndGet( normalizeIndex(index, activeCounts.getNormalizingIndexOffset(), activeCounts.length()), value); } finally { wrp.writerCriticalSectionExit(criticalValue); } }