]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 16 Aug 2012 01:27:51 +0000 (01:27 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 16 Aug 2012 01:27:51 +0000 (01:27 +0000)
MagickCore/magick-type.h
MagickCore/statistic.c

index 6901c780ce72b02a2250d4847b4a96061261d26d..d8e59fb6a219067f3288618f73aa845195e15ae0 100644 (file)
@@ -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)
 
index 9fff1c868e3b186f3d56981c1d081c74c2c8dfd5..128c4ebc5cc4dbe24da956d73b09dc4277fccb0b 100644 (file)
@@ -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];