diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index ea9782d..8d6d611 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -1286,19 +1286,19 @@
#endif
for (y=0; y < (ssize_t) rows; y++)
{
+ MagickRealType
+ v;
+
register ssize_t
i,
x;
- SignedQuantum
- v;
-
i=(2*y+1)+y*columns;
if (polarity > 0)
for (x=0; x < (ssize_t) columns; x++)
{
- v=(SignedQuantum) p[i];
- if ((SignedQuantum) r[i] >= (v+ScaleCharToQuantum(2)))
+ v=(MagickRealType) p[i];
+ if ((MagickRealType) r[i] >= (v+ScaleCharToQuantum(2)))
v+=ScaleCharToQuantum(1);
q[i]=(Quantum) v;
i++;
@@ -1306,8 +1306,8 @@
else
for (x=0; x < (ssize_t) columns; x++)
{
- v=(SignedQuantum) p[i];
- if ((SignedQuantum) r[i] <= (v-ScaleCharToQuantum(2)))
+ v=(MagickRealType) p[i];
+ if ((MagickRealType) r[i] <= (v-ScaleCharToQuantum(2)))
v-=ScaleCharToQuantum(1);
q[i]=(Quantum) v;
i++;
@@ -1327,16 +1327,16 @@
i,
x;
- SignedQuantum
+ MagickRealType
v;
i=(2*y+1)+y*columns;
if (polarity > 0)
for (x=0; x < (ssize_t) columns; x++)
{
- v=(SignedQuantum) q[i];
- if (((SignedQuantum) s[i] >= (v+ScaleCharToQuantum(2))) &&
- ((SignedQuantum) r[i] > v))
+ v=(MagickRealType) q[i];
+ if (((MagickRealType) s[i] >= (v+ScaleCharToQuantum(2))) &&
+ ((MagickRealType) r[i] > v))
v+=ScaleCharToQuantum(1);
p[i]=(Quantum) v;
i++;
@@ -1344,9 +1344,9 @@
else
for (x=0; x < (ssize_t) columns; x++)
{
- v=(SignedQuantum) q[i];
- if (((SignedQuantum) s[i] <= (v-ScaleCharToQuantum(2))) &&
- ((SignedQuantum) r[i] < v))
+ v=(MagickRealType) q[i];
+ if (((MagickRealType) s[i] <= (v-ScaleCharToQuantum(2))) &&
+ ((MagickRealType) r[i] < v))
v-=ScaleCharToQuantum(1);
p[i]=(Quantum) v;
i++;
diff --git a/MagickCore/magick-type.h b/MagickCore/magick-type.h
index af00b34..a910c3e 100644
--- a/MagickCore/magick-type.h
+++ b/MagickCore/magick-type.h
@@ -36,11 +36,17 @@
# define MagickULLConstant(c) (MagickSizeType) (c ## ULL)
#endif
+#if !defined(MAGICKCORE_HAVE_DOUBLE_T)
+typedef double double_t;
+#endif
+#if !defined(MAGICKCORE_HAVE_FLOAT_T)
+typedef float float_t;
+#endif
+
#if (MAGICKCORE_QUANTUM_DEPTH == 8)
#define MaxColormapSize 256UL
#define MaxMap 255UL
-typedef float MagickRealType;
-typedef ssize_t SignedQuantum;
+typedef float_t MagickRealType;
#if defined(MAGICKCORE_HDRI_SUPPORT)
typedef float Quantum;
@@ -54,8 +60,7 @@
#elif (MAGICKCORE_QUANTUM_DEPTH == 16)
#define MaxColormapSize 65536UL
#define MaxMap 65535UL
-typedef float MagickRealType;
-typedef ssize_t SignedQuantum;
+typedef float_t MagickRealType;
#if defined(MAGICKCORE_HDRI_SUPPORT)
typedef float Quantum;
@@ -69,8 +74,7 @@
#elif (MAGICKCORE_QUANTUM_DEPTH == 32)
#define MaxColormapSize 65536UL
#define MaxMap 65535UL
-typedef double MagickRealType;
-typedef double SignedQuantum;
+typedef double_t MagickRealType;
#if defined(MAGICKCORE_HDRI_SUPPORT)
typedef float Quantum;
@@ -84,8 +88,7 @@
#elif (MAGICKCORE_QUANTUM_DEPTH == 64) && defined(MAGICKCORE_HAVE_LONG_DOUBLE_WIDER)
#define MaxColormapSize 65536UL
#define MaxMap 65535UL
-typedef long double MagickRealType;
-typedef double SignedQuantum;
+typedef double_t MagickRealType;
typedef double Quantum;
#define QuantumRange 18446744073709551615.0