diff --git a/MagickCore/magick-type.h b/MagickCore/magick-type.h
index 6901c78..d8e59fb 100644
--- a/MagickCore/magick-type.h
+++ b/MagickCore/magick-type.h
@@ -88,7 +88,7 @@
#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 9fff1c8..128c4eb 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -1575,7 +1575,6 @@
*channel_statistics;
MagickStatusType
- initialize,
status;
QuantumAny
@@ -1602,8 +1601,11 @@
(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 @@
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];