*image_view;
MagickBooleanType
+ initialize,
status;
ssize_t
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
status=MagickTrue;
- *maxima=(-MagickHuge);
- *minima=MagickHuge;
+ initialize=MagickTrue;
+ *maxima=0.0;
+ *minima=0.0;
image_view=AcquireVirtualCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp parallel for schedule(static) shared(status) \
+ #pragma omp parallel for schedule(static) shared(status,initialize) \
dynamic_number_threads(image,image->columns,image->rows,1)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
#pragma omp critical (MagickCore_GetImageRange)
#endif
{
- if ((double) p[i] < *minima)
- *minima=(double) p[i];
- if ((double) p[i] > *maxima)
- *maxima=(double) p[i];
+ if (initialize != MagickFalse)
+ {
+ *minima=(double) p[i];
+ *maxima=(double) p[i];
+ initialize=MagickFalse;
+ }
+ else
+ {
+ if ((double) p[i] < *minima)
+ *minima=(double) p[i];
+ if ((double) p[i] > *maxima)
+ *maxima=(double) p[i];
+ }
}
}
p+=GetPixelChannels(image);
area;
MagickStatusType
+ initialize,
status;
QuantumAny
for (i=0; i <= (ssize_t) MaxPixelChannels; i++)
{
channel_statistics[i].depth=1;
- channel_statistics[i].maxima=(-MagickHuge);
- channel_statistics[i].minima=MagickHuge;
+ channel_statistics[i].maxima=0.0;
+ channel_statistics[i].minima=0.0;
}
+ initialize=MagickTrue;
for (y=0; y < (ssize_t) image->rows; y++)
{
register const Quantum
continue;
}
}
- 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 (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];
+ }
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];
#define MagickLibAddendum "-0"
#define MagickLibInterface 7
#define MagickLibMinInterface 7
-#define MagickReleaseDate "2012-06-03"
+#define MagickReleaseDate "2012-06-07"
#define MagickChangeDate "20110801"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)
<name>ImageMagick</name>
<shortdesc xml:lang="en">ImageMagick: convert, edit, and compose images.</shortdesc>
<homepage rdf:resource="http://www.imagemagick.org/"/>
- <created>2012-06-03</created>
+ <created>2012-06-07</created>
<description xml:lang="en">
ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
<release>
<Version>
<name>stable</name>
- <created>2012-06-03</created>
+ <created>2012-06-07</created>
<revision>7.0.0</revision>
<patch-level>-0</patch-level>
</Version>
<configure name="LIB_VERSION" value="0x700"/>
<configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
<configure name="SVN_REVISION" value="8118" />
- <configure name="RELEASE_DATE" value="2012-06-03"/>
+ <configure name="RELEASE_DATE" value="2012-06-07"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
<configure name="EXEC-PREFIX" value="/usr/local"/>