From: cristy Date: Thu, 16 Aug 2012 01:27:51 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~5123 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e37d9e8095bc3876bd4ff214d8ac33513ddb12b;p=imagemagick --- diff --git a/MagickCore/magick-type.h b/MagickCore/magick-type.h index 6901c780c..d8e59fb6a 100644 --- a/MagickCore/magick-type.h +++ b/MagickCore/magick-type.h @@ -88,7 +88,7 @@ typedef double Quantum; #endif #endif #define MagickEpsilon (1.0e-16) -#define MagickHuge (1.0/MagickEpsilon) +#define MagickHuge 3.40282347e+38F #define MagickPI 3.14159265358979323846264338327950288419716939937510L #define QuantumScale ((double) 1.0/(double) QuantumRange) diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index 9fff1c868..128c4ebc5 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -1575,7 +1575,6 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, *channel_statistics; MagickStatusType - initialize, status; QuantumAny @@ -1602,8 +1601,11 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, (void) ResetMagickMemory(channel_statistics,0,(MaxPixelChannels+1)* sizeof(*channel_statistics)); for (i=0; i <= (ssize_t) MaxPixelChannels; i++) + { channel_statistics[i].depth=1; - initialize=MagickTrue; + channel_statistics[i].maxima=(-MagickHuge); + channel_statistics[i].minima=MagickHuge; + } for (y=0; y < (ssize_t) image->rows; y++) { register const Quantum @@ -1650,19 +1652,10 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, continue; } } - if (initialize != MagickFalse) - { - channel_statistics[channel].minima=(double) p[i]; - channel_statistics[channel].maxima=(double) p[i]; - initialize=MagickFalse; - } - else - { - if ((double) p[i] < channel_statistics[channel].minima) - channel_statistics[channel].minima=(double) p[i]; - if ((double) p[i] > channel_statistics[channel].maxima) - channel_statistics[channel].maxima=(double) p[i]; - } + if ((double) p[i] < channel_statistics[channel].minima) + channel_statistics[channel].minima=(double) p[i]; + if ((double) p[i] > channel_statistics[channel].maxima) + channel_statistics[channel].maxima=(double) p[i]; channel_statistics[channel].sum+=p[i]; channel_statistics[channel].sum_squared+=(double) p[i]*p[i]; channel_statistics[channel].sum_cubed+=(double) p[i]*p[i]*p[i];