Changes in this commit seem to be the result of some "auto reformat" tool execution. The Java - GeoAPI - GeoTools import ordering is altered, imports used only in Javadoc are lost and the encoding of non-ASCII characters is broken. This commit has been reverted, except for the removal of really unused imports which are kept removed.
Command line:
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r10795:10796 https://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/math/Statistics.java
Revision 10795 | Revision 10796 |
---|---|
/*
* Geotools 2 - OpenSource mapping toolkit
* (C) 2003, Geotools Project Managment Committee (PMC)
* (C) 2001, Institut de Recherche pour le Développement
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public |
/*
* Geotools 2 - OpenSource mapping toolkit
* (C) 2003, Geotools Project Managment Committee (PMC)
* (C) 2001, Institut de Recherche pour le D�veloppement
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public |
package org.geotools.math; // Miscellaneous import java.util.Locale; import java.io.Serializable; // OpenGIS dependencies import org.opengis.util.Cloneable; // Geotools dependencies import org.geotools.io.TableWriter; import org.geotools.resources.rsc.Resources; import org.geotools.resources.rsc.ResourceKeys; /** |
package org.geotools.math; // Miscellaneous import java.io.Serializable; import java.util.Locale; import org.geotools.io.TableWriter; import org.geotools.resources.rsc.ResourceKeys; import org.geotools.resources.rsc.Resources; import org.opengis.util.Cloneable; /** |
private static final long serialVersionUID = -22884277805533726L; /** * Valeur minimale qui aie été transmise à la méthode * {@link #add(double)}. Lors de la construction, ce * champs est initialisé à NaN. */ private double min = Double.NaN; /** * Valeur maximale qui aie été transmise à la méthode * {@link #add(double)}. Lors de la construction, ce * champs est initialisé à NaN. */ private double max = Double.NaN; /** * Somme de toutes les valeurs qui ont été transmises à * la méthode {@link #add(double)}. Lors de la construction, * ce champs est initialisé à 0. */ private double sum = 0; /** * Somme des carrés de toutes les valeurs qui ont été * transmises à la méthode {@link #add(double)}. Lors * de la construction, ce champs est initialisé à 0. */ private double sum2 = 0; /** * Nombre de données autres que NaN qui ont été transmises * à la méthode {@link #add(double)}. Lors de la construction, * ce champs est initialisé à 0. */ private int n = 0; /** * Nombre de données égales à NaN qui ont été transmises à * la méthode {@link #add(double)}. Les NaN sont ingorés lors * du calcul des statistiques, mais on les compte quand même * au passage. Lors de la construction ce champs est initialisé à 0. */ private int nNaN = 0; |
private static final long serialVersionUID = -22884277805533726L; /** * Valeur minimale qui aie �t� transmise � la m�thode * {@link #add(double)}. Lors de la construction, ce * champs est initialis� � NaN. */ private double min = Double.NaN; /** * Valeur maximale qui aie �t� transmise � la m�thode * {@link #add(double)}. Lors de la construction, ce * champs est initialis� � NaN. */ private double max = Double.NaN; /** * Somme de toutes les valeurs qui ont �t� transmises � * la m�thode {@link #add(double)}. Lors de la construction, * ce champs est initialis� � 0. */ private double sum = 0; /** * Somme des carr�s de toutes les valeurs qui ont �t� * transmises � la m�thode {@link #add(double)}. Lors * de la construction, ce champs est initialis� � 0. */ private double sum2 = 0; /** * Nombre de donn�es autres que NaN qui ont �t� transmises * � la m�thode {@link #add(double)}. Lors de la construction, * ce champs est initialis� � 0. */ private int n = 0; /** * Nombre de donn�es �gales � NaN qui ont �t� transmises � * la m�thode {@link #add(double)}. Les NaN sont ingor�s lors * du calcul des statistiques, mais on les compte quand m�me * au passage. Lors de la construction ce champs est initialis� � 0. */ private int nNaN = 0; |
*/
public void add(final Statistics stats) {
if (stats != null) {
// "if (a<b)" équivaut à "if (!isNaN(a) && a<b)".
if (Double.isNaN(min) || stats.min<min) min=stats.min;
if (Double.isNaN(max) || stats.max>max) max=stats.max;
sum2 += stats.sum2; |
*/
public void add(final Statistics stats) {
if (stats != null) {
// "if (a<b)" �quivaut � "if (!isNaN(a) && a<b)".
if (Double.isNaN(min) || stats.min<min) min=stats.min;
if (Double.isNaN(max) || stats.max>max) max=stats.max;
sum2 += stats.sum2; |
} /** * Retourne l'écart type des échantillons par rapport à la moyenne. Si les données * fournies aux différentes méthodes <code>add(...)</code> se distribuent selon une * loi normale, alors l'écart type est la distance de part et d'autre de la moyenne * dans lequel se trouveraient environ 84% des données. Le tableau ci-dessous donne * le pourcentage approximatif des données que l'on trouve de part et d'autre de la * moyenne à des distances telles que 2 ou 3 fois l'écart-type. * * <table align=center> * <tr><td> 0.5 </td><td> 69.1% </td></tr> |
} /** * Retourne l'�cart type des �chantillons par rapport � la moyenne. Si les donn�es * fournies aux diff�rentes m�thodes <code>add(...)</code> se distribuent selon une * loi normale, alors l'�cart type est la distance de part et d'autre de la moyenne * dans lequel se trouveraient environ 84% des donn�es. Le tableau ci-dessous donne * le pourcentage approximatif des donn�es que l'on trouve de part et d'autre de la * moyenne � des distances telles que 2 ou 3 fois l'�cart-type. * * <table align=center> * <tr><td> 0.5 </td><td> 69.1% </td></tr> |
* <tr><td> 3.0 </td><td> 99.9% </td></tr> * </table> * * @param allPopulation La valeur <code>true</code> indique que les données fournies * aux différentes méthodes <code>add(...)</code> représentent l'ensemble de * la polulation. La valeur <code>false</code> indique que ces données ne * représentent qu'un échantillon de la population, ce qui est généralement le * cas. Si le nombre de données est élevé, alors les valeurs <code>true</code> * et <code>false</code> donneront sensiblement les mêmes résultats. */ public double standardDeviation(final boolean allPopulation) { return Math.sqrt((sum2 - sum*sum/n) / (allPopulation ? n : n-1)); |
* <tr><td> 3.0 </td><td> 99.9% </td></tr> * </table> * * @param allPopulation La valeur <code>true</code> indique que les donn�es fournies * aux diff�rentes m�thodes <code>add(...)</code> repr�sentent l'ensemble de * la polulation. La valeur <code>false</code> indique que ces donn�es ne * repr�sentent qu'un �chantillon de la population, ce qui est g�n�ralement le * cas. Si le nombre de donn�es est �lev�, alors les valeurs <code>true</code> * et <code>false</code> donneront sensiblement les m�mes r�sultats. */ public double standardDeviation(final boolean allPopulation) { return Math.sqrt((sum2 - sum*sum/n) / (allPopulation ? n : n-1)); |
* Maximum: 8.259
* Moyenne: 7.421
* RMS: 7.846
* Écart-type: 6.489
* </pre></blockquote>
*
* If <code>tabulations</code> is true, then labels (e.g. "Minimum") and values |
* Maximum: 8.259
* Moyenne: 7.421
* RMS: 7.846
* �cart-type: 6.489
* </pre></blockquote>
*
* If <code>tabulations</code> is true, then labels (e.g. "Minimum") and values |