@Override public void put(double val){
  final double nn=this.n + 1.0;
  final double delta=val - m1;
  final double delta_nn=delta / nn;
  final double delta_nn2=delta_nn * delta_nn;
  final double inc=delta * delta_nn * this.n;
  m4+=inc * delta_nn2 * (nn * nn - 3. * nn + 3.) + 6. * delta_nn2 * m2 - 4. * delta_nn * m3;
  m3+=inc * delta_nn * (nn - 2) - 3. * delta_nn * m2;
  m2+=inc;
  m1+=delta_nn;
  n=nn;
  min=Math.min(min,val);
  max=Math.max(max,val);
}

@ Override public void put ( double val ) { final double nn = this . n + 1.0 ; final double delta = val - m1 ; final double delta_nn = delta / nn ; final double delta_nn2 = delta_nn * delta_nn ; final double inc = delta * delta_nn * this . n ; m4 += inc * delta_nn2 * ( nn * nn - 3. * nn + 3. ) + 6. * delta_nn2 * m2 - 4. * delta_nn * m3 ; m3 += inc * delta_nn * ( nn - 2 ) - 3. * delta_nn * m2 ; m2 += inc ; m1 += delta_nn ; n = nn ; min = Math . min ( min , val ) ; max = Math . max ( max , val ) ; }
add a single value with weight 1 . 0
