protected void updateBoundariesAndOrWeights(){
  if (m_Weights != null) {
    return;
  }
  double mean=m_WeightedSum / m_SumOfWeights;
  double variance=m_WeightedSumSquared / m_SumOfWeights - mean * mean;
  if (variance < 0) {
    variance=0;
  }
  m_Width=Math.sqrt(variance) * Math.pow(m_SumOfWeights,m_Exponent);
  if (m_Width <= m_MinWidth) {
    m_Width=m_MinWidth;
  }
  if (getUpdateWeightsOnly()) {
    updateWeightsOnly();
  }
 else {
    updateBoundariesAndWeights();
  }
}

protected void updateBoundariesAndOrWeights ( ) { if ( m_Weights != null ) { return ; } double mean = m_WeightedSum / m_SumOfWeights ; double variance = m_WeightedSumSquared / m_SumOfWeights - mean * mean ; if ( variance < 0 ) { variance = 0 ; } m_Width = Math . sqrt ( variance ) * Math . pow ( m_SumOfWeights , m_Exponent ) ; if ( m_Width <= m_MinWidth ) { m_Width = m_MinWidth ; } if ( getUpdateWeightsOnly ( ) ) { updateWeightsOnly ( ) ; } else { updateBoundariesAndWeights ( ) ; } }
updates the boundaries if necessary .
