2016-06-21 60 views
0

我使用Java實現HDR直方圖:HDR柱狀圖:民不一樣最大的1個樣本數

<dependency> 
     <groupId>org.hdrhistogram</groupId> 
     <version>2.1.4</version> 
     <artifactId>HdrHistogram</artifactId> 
    </dependency> 

心中已經enoticed是最小和最大的不同,即使樣本數爲1:

@Test 
public void testHistogram() throws Exception { 
    Histogram stats = new Histogram(2); 

    stats.recordValue(35071); 
    assertEquals(1, stats.getTotalCount()); 
    assertEquals(35071, stats.getMaxValue()); 

    assertEquals(35071, stats.getMinNonZeroValue()); // Fails: 
       // java.lang.AssertionError: 
       // Expected :35071 
       // Actual :34816 


} 

我看到在直方圖以下代碼片段:

public long getMinNonZeroValue() { 
    return (minNonZeroValue == Long.MAX_VALUE) ? 
      Long.MAX_VALUE : lowestEquivalentValue(minNonZeroValue); 
} 

(即在GitHub

我的問題是:爲什麼我們不能簡單地返回記錄minNonZeroValue

回答

0

經過HDR Histogram GitHub上的一些conversation,我認爲一個原因可能是確保最小值與桶上的迭代結果相匹配。

相關問題