public TDoubleDoubleHashMap absoluteDistributionLog10(double descretization){
  TDoubleDoubleHashMap freq=new TDoubleDoubleHashMap();
  int size=values.size();
  for (int i=0; i < size; i++) {
    double bin_idx=Math.ceil(Math.log10(values.get(i) / descretization));
    bin_idx=Math.max(bin_idx,0.0);
    double binWidth=Math.pow(10,bin_idx) - Math.pow(10,bin_idx - 1);
    binWidth=Math.max(1.0,binWidth);
    freq.adjustOrPutValue(Math.pow(10,bin_idx) * descretization,weights.get(i) / binWidth,weights.get(i) / binWidth);
  }
  return freq;
}

public TDoubleDoubleHashMap absoluteDistributionLog10 ( double descretization ) { TDoubleDoubleHashMap freq = new TDoubleDoubleHashMap ( ) ; int size = values . size ( ) ; for ( int i = 0 ; i < size ; i ++ ) { double bin_idx = Math . ceil ( Math . log10 ( values . get ( i ) / descretization ) ) ; bin_idx = Math . max ( bin_idx , 0.0 ) ; double binWidth = Math . pow ( 10 , bin_idx ) - Math . pow ( 10 , bin_idx - 1 ) ; binWidth = Math . max ( 1.0 , binWidth ) ; freq . adjustOrPutValue ( Math . pow ( 10 , bin_idx ) * descretization , weights . get ( i ) / binWidth , weights . get ( i ) / binWidth ) ; } return freq ; }
returns a histogram of all samples where samples are aggregated into bins with logarithmically scaled width . the key of the bin is the upper bin border .
