diff --git a/MagickCore/fx.c b/MagickCore/fx.c index b931dfce9c..09dfac86f0 100644 --- a/MagickCore/fx.c +++ b/MagickCore/fx.c @@ -3489,7 +3489,7 @@ static MagickBooleanType ExecuteRPN (FxInfo * pfx, fxRtT * pfxrt, fxFltType *res case fAiry: if (regA==0) regA = 1.0; else { - fxFltType gamma = 2.0 * j1 ((MagickPI*regA)) / (MagickPI*regA); + fxFltType gamma = 2.0 * j1((double) (MagickPI*regA)) / (MagickPI*regA); regA = gamma * gamma; } break; @@ -3568,7 +3568,7 @@ static MagickBooleanType ExecuteRPN (FxInfo * pfx, fxRtT * pfxrt, fxFltType *res regA = exp((double) (-regA*regA/2.0))/sqrt(2.0*MagickPI); break; case fGcd: - if (!IsNaN(regA)) + if (!IsNaN((double) regA)) regA = FxGcd (regA, regB, 0); break; case fHypot: @@ -3578,7 +3578,7 @@ static MagickBooleanType ExecuteRPN (FxInfo * pfx, fxRtT * pfxrt, fxFltType *res regA = floor ((double) regA); break; case fIsnan: - regA = (fxFltType) (!!IsNaN (regA)); + regA = (fxFltType) (!!IsNaN ((double) regA)); break; #if defined(MAGICKCORE_HAVE_J0) case fJ0: @@ -3593,7 +3593,7 @@ static MagickBooleanType ExecuteRPN (FxInfo * pfx, fxRtT * pfxrt, fxFltType *res #if defined(MAGICKCORE_HAVE_J1) case fJinc: if (regA==0) regA = 1.0; - else regA = 2.0 * j1 ((MagickPI*regA))/(MagickPI*regA); + else regA = 2.0 * j1((double) (MagickPI*regA))/(MagickPI*regA); break; #endif case fLn: @@ -3606,7 +3606,7 @@ static MagickBooleanType ExecuteRPN (FxInfo * pfx, fxRtT * pfxrt, fxFltType *res regA = log10 ((double) regA); break; case fMagickTime: - regA = GetMagickTime (); + regA = (fxFltType) GetMagickTime(); break; case fMax: regA = (regA > regB) ? regA : regB; diff --git a/MagickCore/profile.c b/MagickCore/profile.c index e90d759f5b..fac191845f 100644 --- a/MagickCore/profile.c +++ b/MagickCore/profile.c @@ -2115,12 +2115,12 @@ static inline signed short ReadProfileShort(const EndianType endian, value=(unsigned short) buffer[1] << 8; value|=(unsigned short) buffer[0]; quantum.unsigned_value=value & 0xffff; - return(quantum.signed_value); + return((signed short) quantum.signed_value); } value=(unsigned short) buffer[0] << 8; value|=(unsigned short) buffer[1]; quantum.unsigned_value=value & 0xffff; - return(quantum.signed_value); + return((signed short) quantum.signed_value); } static inline signed int ReadProfileLong(const EndianType endian, diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c index 997922b2b6..58e78b616a 100644 --- a/MagickCore/quantize.c +++ b/MagickCore/quantize.c @@ -2949,7 +2949,7 @@ MagickExport MagickBooleanType PosterizeImage(Image *image,const size_t levels, if ((traits & UpdatePixelTrait) != 0) { size_t value = remainder % levels; - SetPixelChannel(map_image,channel,scale*value,q); + SetPixelChannel(map_image,channel,(const Quantum) (scale*value),q); remainder=(remainder-value)/levels; } } @@ -2995,17 +2995,17 @@ MagickExport MagickBooleanType PosterizeImage(Image *image,const size_t levels, Posterize colormap. */ if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0) - image->colormap[i].red=(double) - PosterizePixel(image->colormap[i].red,levels); + image->colormap[i].red=(MagickRealType) + PosterizePixel((const Quantum) image->colormap[i].red,levels); if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0) - image->colormap[i].green=(double) - PosterizePixel(image->colormap[i].green,levels); + image->colormap[i].green=(MagickRealType) + PosterizePixel((const Quantum) image->colormap[i].green,levels); if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0) - image->colormap[i].blue=(double) - PosterizePixel(image->colormap[i].blue,levels); + image->colormap[i].blue=(MagickRealType) + PosterizePixel((const Quantum) image->colormap[i].blue,levels); if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) - image->colormap[i].alpha=(double) - PosterizePixel(image->colormap[i].alpha,levels); + image->colormap[i].alpha=(MagickRealType) + PosterizePixel((const Quantum) image->colormap[i].alpha,levels); } } /* diff --git a/MagickCore/quantum-import.c b/MagickCore/quantum-import.c index bc535da378..38aaa29c75 100644 --- a/MagickCore/quantum-import.c +++ b/MagickCore/quantum-import.c @@ -169,7 +169,7 @@ static inline float ScaleFloatPixel(const QuantumInfo *quantum_info, return(-FLT_MAX); if (pixel > (double) FLT_MAX) return(FLT_MAX); - return(pixel); + return((float) pixel); } static inline const unsigned char *PushQuantumFloatPixel( diff --git a/MagickCore/segment.c b/MagickCore/segment.c index 38876225fb..e05915063b 100644 --- a/MagickCore/segment.c +++ b/MagickCore/segment.c @@ -615,17 +615,17 @@ static MagickBooleanType Classify(Image *image,short **extrema, sum=0.0; p=image->colormap+j; distance_squared= - squares[(ssize_t) (pixel.red-ScaleQuantumToChar(p->red))]+ - squares[(ssize_t) (pixel.green-ScaleQuantumToChar(p->green))]+ - squares[(ssize_t) (pixel.blue-ScaleQuantumToChar(p->blue))]; + squares[(ssize_t) (pixel.red-ScaleQuantumToChar((const Quantum) p->red))]+ + squares[(ssize_t) (pixel.green-ScaleQuantumToChar((const Quantum) p->green))]+ + squares[(ssize_t) (pixel.blue-ScaleQuantumToChar((const Quantum) p->blue))]; numerator=distance_squared; for (k=0; k < (ssize_t) image->colors; k++) { p=image->colormap+k; distance_squared= - squares[(ssize_t) (pixel.red-ScaleQuantumToChar(p->red))]+ - squares[(ssize_t) (pixel.green-ScaleQuantumToChar(p->green))]+ - squares[(ssize_t) (pixel.blue-ScaleQuantumToChar(p->blue))]; + squares[(ssize_t) (pixel.red-ScaleQuantumToChar((const Quantum) p->red))]+ + squares[(ssize_t) (pixel.green-ScaleQuantumToChar((const Quantum) p->green))]+ + squares[(ssize_t) (pixel.blue-ScaleQuantumToChar((const Quantum) p->blue))]; ratio=numerator/distance_squared; sum+=SegmentPower(ratio); } diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index 957e7584bb..1bcd66866c 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -2262,7 +2262,7 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, if (histogram[(ssize_t) GetPixelChannels(image)*j+i] > 0.0) number_bins++; area=PerceptibleReciprocalLD(channel_statistics[channel].area); - number_bins=PerceptibleReciprocalLD((long double) log2(number_bins)); + number_bins=(double) PerceptibleReciprocalLD((long double) log2(number_bins)); for (j=0; j <= (ssize_t) MaxMap; j++) { double @@ -2273,8 +2273,8 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, entropy=-count*log2(count)*number_bins; if (IsNaN(entropy) != 0) continue; - channel_statistics[channel].entropy+=(long double) entropy; - channel_statistics[CompositePixelChannel].entropy+=((long double) entropy/ + channel_statistics[channel].entropy+=(double) entropy; + channel_statistics[CompositePixelChannel].entropy+=((double) entropy/ GetPixelChannels(image)); } }