diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c
index eab0b31..5bbbdec 100644
--- a/MagickCore/accelerate.c
+++ b/MagickCore/accelerate.c
@@ -295,7 +295,7 @@
" break;\n"
" }\n"
" }\n"
- " gamma=MagickReciprocal(gamma);\n"
+ " gamma=MagickEpsilonReciprocal(gamma);\n"
" const unsigned long index = y*columns+x;\n"
" output[index].x=ClampToQuantum(gamma*sum.x);\n"
" output[index].y=ClampToQuantum(gamma*sum.y);\n"
diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index c558a82..1fcff76 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -642,7 +642,7 @@
gamma=DisplayGamma;
value=GetImageProperty(image,"gamma",exception);
if (value != (const char *) NULL)
- gamma=MagickReciprocal(StringToDouble(value,(char **) NULL));
+ gamma=MagickEpsilonReciprocal(StringToDouble(value,(char **) NULL));
film_gamma=FilmGamma;
value=GetImageProperty(image,"film-gamma",exception);
if (value != (const char *) NULL)
@@ -2150,7 +2150,7 @@
gamma=DisplayGamma;
value=GetImageProperty(image,"gamma",exception);
if (value != (const char *) NULL)
- gamma=MagickReciprocal(StringToDouble(value,(char **) NULL));
+ gamma=MagickEpsilonReciprocal(StringToDouble(value,(char **) NULL));
film_gamma=FilmGamma;
value=GetImageProperty(image,"film-gamma",exception);
if (value != (const char *) NULL)
diff --git a/MagickCore/compare.c b/MagickCore/compare.c
index d906080..b2cd11e 100644
--- a/MagickCore/compare.c
+++ b/MagickCore/compare.c
@@ -950,7 +950,7 @@
channel=GetPixelChannelMapChannel(image,i);
gamma=image_statistics[i].standard_deviation*
reconstruct_statistics[channel].standard_deviation;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
distortion[i]=QuantumRange*gamma*distortion[i];
distortion[CompositePixelChannel]+=distortion[i]*distortion[i];
}
diff --git a/MagickCore/composite-private.h b/MagickCore/composite-private.h
index c0c9a7d..6204057 100644
--- a/MagickCore/composite-private.h
+++ b/MagickCore/composite-private.h
@@ -62,7 +62,7 @@
Sa=QuantumScale*alpha;
Da=QuantumScale*beta,
gamma=Sa*(-Da)+Sa+Da;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelChannel
@@ -133,7 +133,7 @@
Da=QuantumScale*beta,
gamma=Sa*(-Da)+Sa+Da;
composite->alpha=(MagickRealType) QuantumRange*gamma;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
composite->red=gamma*MagickOver_(p->red,alpha,q->red,beta);
composite->green=gamma*MagickOver_(p->green,alpha,q->green,beta);
composite->blue=gamma*MagickOver_(p->blue,alpha,q->blue,beta);
@@ -162,7 +162,7 @@
Da=QuantumScale*beta;
gamma=RoundToUnity(Sa+Da); /* 'Plus' blending -- not 'Over' blending */
composite->alpha=(MagickRealType) QuantumRange*gamma;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
composite->red=gamma*(Sa*p->red+Da*q->red);
composite->green=gamma*(Sa*p->green+Da*q->green);
composite->blue=gamma*(Sa*p->blue+Da*q->blue);
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 8f810a6..64f5afb 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -502,7 +502,7 @@
*/
Sc=(MagickRealType) GetPixelChannel(composite_image,channel,p);
Dc=(MagickRealType) q[i];
- gamma=MagickReciprocal(alpha);
+ gamma=MagickEpsilonReciprocal(alpha);
q[i]=ClampToQuantum(gamma*(Sa*Sc-Sa*Da*Dc+Da*Dc));
}
p+=GetPixelChannels(composite_image);
@@ -1649,7 +1649,7 @@
default:
break;
}
- gamma=MagickReciprocal(alpha);
+ gamma=MagickEpsilonReciprocal(alpha);
pixel=Dc;
switch (compose)
{
diff --git a/MagickCore/distort.c b/MagickCore/distort.c
index 96dc682..5c77784 100644
--- a/MagickCore/distort.c
+++ b/MagickCore/distort.c
@@ -1798,28 +1798,28 @@
s.x = (double) image->page.x;
s.y = (double) image->page.y;
scale=inverse[6]*s.x+inverse[7]*s.y+1.0;
- scale=MagickReciprocal(scale);
+ scale=MagickEpsilonReciprocal(scale);
d.x = scale*(inverse[0]*s.x+inverse[1]*s.y+inverse[2]);
d.y = scale*(inverse[3]*s.x+inverse[4]*s.y+inverse[5]);
InitalBounds(d);
s.x = (double) image->page.x+image->columns;
s.y = (double) image->page.y;
scale=inverse[6]*s.x+inverse[7]*s.y+1.0;
- scale=MagickReciprocal(scale);
+ scale=MagickEpsilonReciprocal(scale);
d.x = scale*(inverse[0]*s.x+inverse[1]*s.y+inverse[2]);
d.y = scale*(inverse[3]*s.x+inverse[4]*s.y+inverse[5]);
ExpandBounds(d);
s.x = (double) image->page.x;
s.y = (double) image->page.y+image->rows;
scale=inverse[6]*s.x+inverse[7]*s.y+1.0;
- scale=MagickReciprocal(scale);
+ scale=MagickEpsilonReciprocal(scale);
d.x = scale*(inverse[0]*s.x+inverse[1]*s.y+inverse[2]);
d.y = scale*(inverse[3]*s.x+inverse[4]*s.y+inverse[5]);
ExpandBounds(d);
s.x = (double) image->page.x+image->columns;
s.y = (double) image->page.y+image->rows;
scale=inverse[6]*s.x+inverse[7]*s.y+1.0;
- scale=MagickReciprocal(scale);
+ scale=MagickEpsilonReciprocal(scale);
d.x = scale*(inverse[0]*s.x+inverse[1]*s.y+inverse[2]);
d.y = scale*(inverse[3]*s.x+inverse[4]*s.y+inverse[5]);
ExpandBounds(d);
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index 4b2b82b..a654d0c 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -3180,7 +3180,7 @@
q.y=(double) y-gradient_vector->y1;
length=sqrt(q.x*q.x+q.y*q.y);
gamma=sqrt(p.x*p.x+p.y*p.y)*length;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
scale=p.x*q.x+p.y*q.y;
offset=gamma*scale*length;
return(offset);
diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 9b74f32..14f3866 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -408,7 +408,7 @@
pixels+=GetPixelChannels(image);
}
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
@@ -426,7 +426,7 @@
pixels+=GetPixelChannels(image);
}
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(blur_image);
@@ -735,7 +735,7 @@
pixels+=GetPixelChannels(image);
}
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
@@ -753,7 +753,7 @@
pixels+=GetPixelChannels(image);
}
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(sharp_image);
@@ -1051,7 +1051,7 @@
k++;
pixels+=GetPixelChannels(image);
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
@@ -1181,7 +1181,7 @@
k++;
pixels+=GetPixelChannels(blur_image);
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(blur_image);
@@ -2060,7 +2060,7 @@
gamma+=(*k)*alpha;
k++;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
@@ -2843,7 +2843,7 @@
pixel+=r[i];
gamma++;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
@@ -2861,7 +2861,7 @@
pixel+=GetPixelAlpha(image,r)*r[i];
gamma+=GetPixelAlpha(image,r);
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
@@ -3139,7 +3139,7 @@
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
@@ -3165,7 +3165,7 @@
SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
diff --git a/MagickCore/feature.c b/MagickCore/feature.c
index 863be65..73af219 100644
--- a/MagickCore/feature.c
+++ b/MagickCore/feature.c
@@ -572,7 +572,7 @@
break;
}
}
- normalize=MagickReciprocal(normalize);
+ normalize=MagickEpsilonReciprocal(normalize);
for (y=0; y < (ssize_t) number_grays; y++)
{
register ssize_t
diff --git a/MagickCore/image.c b/MagickCore/image.c
index c0aea2c..e4ab882 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -2087,7 +2087,7 @@
Sa=QuantumScale*alpha;
Da=QuantumScale*beta,
gamma=Sa*(-Da)+Sa+Da;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelChannel
diff --git a/MagickCore/pixel-private.h b/MagickCore/pixel-private.h
index f7d3e46..ec296e2 100644
--- a/MagickCore/pixel-private.h
+++ b/MagickCore/pixel-private.h
@@ -22,7 +22,7 @@
extern "C" {
#endif
-static inline MagickRealType MagickReciprocal(const MagickRealType x)
+static inline MagickRealType MagickEpsilonReciprocal(const MagickRealType x)
{
return((MagickRealType) 1.0/(((x) > (MagickRealType) 0.0 ? (x) : -(x)) <
MagickEpsilon ? MagickEpsilon : x));
diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index 2eab864..996cd1b 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -4136,7 +4136,7 @@
}
for (i=0; i < 16; i++)
{
- gamma=MagickReciprocal(alpha[i]);
+ gamma=MagickEpsilonReciprocal(alpha[i]);
*pixel+=gamma*0.0625*pixels[i];
}
break;
@@ -4199,7 +4199,7 @@
*/
gamma=1.0;
if (channel != AlphaPixelChannel)
- gamma=MagickReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
+ gamma=MagickEpsilonReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
alpha[2]+cx[3]*alpha[3])+cy[1]*(cx[0]*alpha[4]+cx[1]*alpha[5]+
cx[2]*alpha[6]+cx[3]*alpha[7])+cy[2]*(cx[0]*alpha[8]+
cx[1]*alpha[9]+cx[2]*alpha[10]+cx[3]*alpha[11])+cy[3]*(
@@ -4243,7 +4243,7 @@
epsilon.y=1.0-delta.y;
gamma=((epsilon.y*(epsilon.x*alpha[0]+delta.x*alpha[1])+delta.y*
(epsilon.x*alpha[2]+delta.x*alpha[3])));
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
*pixel=gamma*(epsilon.y*(epsilon.x*pixels[0]+delta.x*pixels[1])+delta.y*
(epsilon.x*pixels[2]+delta.x*pixels[3]));
break;
@@ -4350,7 +4350,7 @@
*/
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[2],alpha[3],alpha[0]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
*pixel=gamma*MeshInterpolate(&delta,pixels[2],pixels[3],
pixels[0]);
}
@@ -4361,7 +4361,7 @@
*/
delta.x=1.0-delta.x;
gamma=MeshInterpolate(&delta,alpha[1],alpha[0],alpha[3]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
*pixel=gamma*MeshInterpolate(&delta,pixels[1],pixels[0],
pixels[3]);
}
@@ -4377,7 +4377,7 @@
Top-left triangle (pixel: 0, diagonal: 1-2).
*/
gamma=MeshInterpolate(&delta,alpha[0],alpha[1],alpha[2]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
*pixel=gamma*MeshInterpolate(&delta,pixels[0],pixels[1],
pixels[2]);
}
@@ -4389,7 +4389,7 @@
delta.x=1.0-delta.x;
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[3],alpha[2],alpha[1]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
*pixel=gamma*MeshInterpolate(&delta,pixels[3],pixels[2],
pixels[1]);
}
@@ -4438,7 +4438,7 @@
for (j=(-1); j < 3L; j++)
{
dx=CubicWeightingFunction(delta.x-(MagickRealType) j);
- gamma=MagickReciprocal(alpha[n]);
+ gamma=MagickEpsilonReciprocal(alpha[n]);
*pixel+=gamma*dx*dy*pixels[n];
n++;
}
@@ -4565,7 +4565,7 @@
alpha[j]=QuantumScale*GetPixelAlpha(source,p+j*
GetPixelChannels(source));
pixels[j]*=alpha[j];
- gamma=MagickReciprocal(alpha[j]);
+ gamma=MagickEpsilonReciprocal(alpha[j]);
sum+=gamma*0.0625*pixels[j];
}
SetPixelChannel(destination,channel,ClampToQuantum(sum),pixel);
@@ -4641,7 +4641,7 @@
*/
gamma=1.0;
if ((traits & BlendPixelTrait) == 0)
- gamma=MagickReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
+ gamma=MagickEpsilonReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
alpha[2]+cx[3]*alpha[3])+cy[1]*(cx[0]*alpha[4]+cx[1]*alpha[5]+
cx[2]*alpha[6]+cx[3]*alpha[7])+cy[2]*(cx[0]*alpha[8]+
cx[1]*alpha[9]+cx[2]*alpha[10]+cx[3]*alpha[11])+cy[3]*(
@@ -4687,7 +4687,7 @@
if ((traits & BlendPixelTrait) == 0)
{
gamma=((epsilon.y*(epsilon.x+delta.x)+delta.y*(epsilon.x+delta.x)));
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*(epsilon.y*
(epsilon.x*pixels[0]+delta.x*pixels[1])+delta.y*(epsilon.x*
pixels[2]+delta.x*pixels[3]))),pixel);
@@ -4705,7 +4705,7 @@
pixels[3]*=alpha[3];
gamma=((epsilon.y*(epsilon.x*alpha[0]+delta.x*alpha[1])+delta.y*
(epsilon.x*alpha[2]+delta.x*alpha[3])));
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*(epsilon.y*
(epsilon.x*pixels[0]+delta.x*pixels[1])+delta.y*(epsilon.x*pixels[2]+
delta.x*pixels[3]))),pixel);
@@ -4859,7 +4859,7 @@
*/
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[2],alpha[3],alpha[0]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*
MeshInterpolate(&delta,pixels[2],pixels[3],pixels[0])),pixel);
}
@@ -4870,7 +4870,7 @@
*/
delta.x=1.0-delta.x;
gamma=MeshInterpolate(&delta,alpha[1],alpha[0],alpha[3]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*
MeshInterpolate(&delta,pixels[1],pixels[0],pixels[3])),pixel);
}
@@ -4886,7 +4886,7 @@
Top-left triangle (pixel: 0, diagonal: 1-2).
*/
gamma=MeshInterpolate(&delta,alpha[0],alpha[1],alpha[2]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*
MeshInterpolate(&delta,pixels[0],pixels[1],pixels[2])),pixel);
}
@@ -4898,7 +4898,7 @@
delta.x=1.0-delta.x;
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[3],alpha[2],alpha[1]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(destination,channel,ClampToQuantum(gamma*
MeshInterpolate(&delta,pixels[3],pixels[2],pixels[1])),pixel);
}
@@ -4963,7 +4963,7 @@
for (k=(-1); k < 3L; k++)
{
dx=CubicWeightingFunction(delta.x-(MagickRealType) k);
- gamma=MagickReciprocal(alpha[n]);
+ gamma=MagickEpsilonReciprocal(alpha[n]);
sum+=gamma*dx*dy*pixels[n];
n++;
}
@@ -5109,7 +5109,7 @@
pixel->alpha=0.0;
for (i=0; i < 16L; i++)
{
- gamma=MagickReciprocal(alpha[i]);
+ gamma=MagickEpsilonReciprocal(alpha[i]);
pixel->red+=gamma*0.0625*pixels[i].red;
pixel->green+=gamma*0.0625*pixels[i].green;
pixel->blue+=gamma*0.0625*pixels[i].blue;
@@ -5251,7 +5251,7 @@
epsilon.y=1.0-delta.y;
gamma=((epsilon.y*(epsilon.x*alpha[0]+delta.x*alpha[1])+delta.y*
(epsilon.x*alpha[2]+delta.x*alpha[3])));
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->red=gamma*(epsilon.y*(epsilon.x*pixels[0].red+delta.x*
pixels[1].red)+delta.y*(epsilon.x*pixels[2].red+delta.x*pixels[3].red));
pixel->green=gamma*(epsilon.y*(epsilon.x*pixels[0].green+delta.x*
@@ -5265,7 +5265,7 @@
pixels[1].black)+delta.y*(epsilon.x*pixels[2].black+delta.x*
pixels[3].black));
gamma=((epsilon.y*(epsilon.x+delta.x)+delta.y*(epsilon.x+delta.x)));
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->alpha=(epsilon.y*(epsilon.x*pixels[0].alpha+delta.x*
pixels[1].alpha)+delta.y*(epsilon.x*pixels[2].alpha+delta.x*
pixels[3].alpha));
@@ -5350,7 +5350,7 @@
*/
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[2],alpha[3],alpha[0]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->red=gamma*MeshInterpolate(&delta,pixels[2].red,
pixels[3].red,pixels[0].red);
pixel->green=gamma*MeshInterpolate(&delta,pixels[2].green,
@@ -5371,7 +5371,7 @@
*/
delta.x=1.0-delta.x;
gamma=MeshInterpolate(&delta,alpha[1],alpha[0],alpha[3]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->red=gamma*MeshInterpolate(&delta,pixels[1].red,
pixels[0].red,pixels[3].red);
pixel->green=gamma*MeshInterpolate(&delta,pixels[1].green,
@@ -5397,7 +5397,7 @@
Top-left triangle (pixel: 0, diagonal: 1-2).
*/
gamma=MeshInterpolate(&delta,alpha[0],alpha[1],alpha[2]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->red=gamma*MeshInterpolate(&delta,pixels[0].red,
pixels[1].red,pixels[2].red);
pixel->green=gamma*MeshInterpolate(&delta,pixels[0].green,
@@ -5419,7 +5419,7 @@
delta.x=1.0-delta.x;
delta.y=1.0-delta.y;
gamma=MeshInterpolate(&delta,alpha[3],alpha[2],alpha[1]);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
pixel->red=gamma*MeshInterpolate(&delta,pixels[3].red,
pixels[2].red,pixels[1].red);
pixel->green=gamma*MeshInterpolate(&delta,pixels[3].green,
@@ -5504,7 +5504,7 @@
for (j=(-1); j < 3L; j++)
{
dx=CubicWeightingFunction(delta.x-(MagickRealType) j);
- gamma=MagickReciprocal(alpha[n]);
+ gamma=MagickEpsilonReciprocal(alpha[n]);
pixel->red+=gamma*dx*dy*pixels[n].red;
pixel->green+=gamma*dx*dy*pixels[n].green;
pixel->blue+=gamma*dx*dy*pixels[n].blue;
diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c
index f029a65..1d6ab62 100644
--- a/MagickCore/quantize.c
+++ b/MagickCore/quantize.c
@@ -1252,7 +1252,7 @@
*/
q=image->colormap+image->colors;
alpha=(MagickRealType) ((MagickOffsetType) node_info->number_unique);
- alpha=MagickReciprocal(alpha);
+ alpha=MagickEpsilonReciprocal(alpha);
if (cube_info->associate_alpha == MagickFalse)
{
q->red=(double) ClampToQuantum((MagickRealType)
@@ -1286,7 +1286,7 @@
gamma;
gamma=(MagickRealType) (QuantumScale*q->alpha);
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
q->red=(double) ClampToQuantum((MagickRealType)
(alpha*gamma*QuantumRange*node_info->total_color.red));
q->green=(double) ClampToQuantum((MagickRealType)
diff --git a/MagickCore/quantum-import.c b/MagickCore/quantum-import.c
index f9dafd1..37f649b 100644
--- a/MagickCore/quantum-import.c
+++ b/MagickCore/quantum-import.c
@@ -3610,7 +3610,7 @@
continue;
}
Sa=QuantumScale*GetPixelAlpha(image,q);
- gamma=MagickReciprocal(Sa);
+ gamma=MagickEpsilonReciprocal(Sa);
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelChannel
diff --git a/MagickCore/resize.c b/MagickCore/resize.c
index 2501e5a..c2e9ba8 100644
--- a/MagickCore/resize.c
+++ b/MagickCore/resize.c
@@ -2363,7 +2363,7 @@
pixel+=alpha*p[k*GetPixelChannels(image)+i];
gamma+=alpha;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(resize_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(resize_image);
@@ -2579,7 +2579,7 @@
pixel+=alpha*p[k*GetPixelChannels(image)+i];
gamma+=alpha;
}
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
SetPixelChannel(resize_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(resize_image);
@@ -3210,7 +3210,7 @@
}
alpha=QuantumScale*scanline[x*GetPixelChannels(image)+
GetPixelChannelMapChannel(image,AlphaPixelChannel)];
- gamma=MagickReciprocal(alpha);
+ gamma=MagickEpsilonReciprocal(alpha);
SetPixelChannel(scale_image,channel,ClampToQuantum(gamma*scanline[
x*GetPixelChannels(image)+offset]),q);
}
@@ -3312,7 +3312,7 @@
}
alpha=QuantumScale*scanline[x*GetPixelChannels(image)+
GetPixelChannelMapChannel(image,AlphaPixelChannel)];
- gamma=MagickReciprocal(alpha);
+ gamma=MagickEpsilonReciprocal(alpha);
SetPixelChannel(scale_image,channel,ClampToQuantum(gamma*
scale_scanline[x*MaxPixelChannels+channel]),q);
}
diff --git a/coders/pango.c b/coders/pango.c
index c23d19f..483069b 100644
--- a/coders/pango.c
+++ b/coders/pango.c
@@ -424,7 +424,7 @@
Disassociate alpha.
*/
gamma=1.0-QuantumScale*fill_color.alpha;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
fill_color.blue*=gamma;
fill_color.green*=gamma;
fill_color.red*=gamma;
diff --git a/coders/svg.c b/coders/svg.c
index 0c5c96c..8f741be 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -2939,7 +2939,7 @@
gamma;
gamma=1.0-QuantumScale*fill_color.alpha;
- gamma=MagickReciprocal(gamma);
+ gamma=MagickEpsilonReciprocal(gamma);
fill_color.blue*=gamma;
fill_color.green*=gamma;
fill_color.red*=gamma;