Applied #2963 (fix crash with quantiles) from Jeremy Palmer. Thanks!

git-svn-id: http://svn.osgeo.org/qgis/trunk@14398 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
wonder 2010-10-18 18:59:52 +00:00
parent f3c7dc0300
commit 9b287cef3a

View File

@ -322,16 +322,19 @@ static QList<double> _calcQuantileBreaks( QList<double> values, int classes )
QList<double> breaks;
int n = values.count();
double q, a, aa, r, Xq;
for ( int i = 0; i < ( classes - 1 ); i++ )
double Xq = n > 0 ? values[0] : 0.0;
for ( int i = 1; i < classes; i++ )
{
q = ( i + 1 ) / ( double ) classes;
a = q * n;
aa = ( int )( q * n );
r = a - aa;
Xq = ( 1 - r ) * values[aa] + r * values[aa+1];
if( n > 1 )
{
double q = i / ( double ) classes;
double a = q * (n-1);
int aa = ( int )( a );
double r = a - aa;
Xq = ( 1 - r ) * values[aa] + r * values[aa+1];
}
breaks.append( Xq );
}