X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff6cb26262ba25fefdf1265628265a75d790ebd6..200986a368bbbbb5df459d43cbc7f5ef3d7678db:/contrib/psg/src/peersim/util/MomentStats.java diff --git a/contrib/psg/src/peersim/util/MomentStats.java b/contrib/psg/src/peersim/util/MomentStats.java new file mode 100644 index 0000000000..0a847c39a0 --- /dev/null +++ b/contrib/psg/src/peersim/util/MomentStats.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2003-2005 The BISON Project + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +package peersim.util; + +/** + * This class provides extended statistical informations about the inspected + * distribution. In particular, it provides functions to compute the skewness + * (the 3rd degree moment) and the kurtosis (4th degree moment). + * + * @author Gian Paolo Jesi + */ +public class MomentStats extends IncrementalStats { + + private double cubicsum, quadsum; // incremental sums + + /** Calls {@link #reset} */ + public MomentStats() { + reset(); + } + + public void reset() { + super.reset(); + cubicsum = quadsum = 0.0; + } + + public void add(double item, int k) { + for(int i=0; i