private long segmentsGivenEntriesPerSegmentFixed(long entriesPerSegment) { double precision = 1.0 / averageChunksPerEntry(); long entriesPerSegmentShouldBe = roundDown(PoissonDistribution.meanByCumulativeProbabilityAndValue( nonTieredSegmentsPercentile, entriesPerSegment, precision)); long segments = divideRoundUp(entries(), entriesPerSegmentShouldBe); checkSegments(segments); if (minSegments > 0) segments = Math.max(minSegments, segments); return segments; }