]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/493
authorCristy <urban-warrior@imagemagick.org>
Wed, 12 Jul 2017 17:44:24 +0000 (13:44 -0400)
committerCristy <urban-warrior@imagemagick.org>
Wed, 12 Jul 2017 17:44:24 +0000 (13:44 -0400)
MagickCore/magick-type.h

index 3d90adaf2821322385304fb63b977579ab2d4530..4d294ce5a0a896aca86c4b597746ee09a36171dc 100644 (file)
@@ -36,13 +36,34 @@ extern "C" {
 #  define MagickULLConstant(c)  (MagickSizeType) (c ## ULL)
 #endif
 
+#if MAGICKCORE_SIZEOF_FLOAT_T == 0
+typedef float MagickFloat_t;
+#elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT)
+typedef float MagickFloat_t;
+#elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE)
+typedef double MagickFloat_t;
+#elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
+typedef long double MagickFloat_t;
+#else
+#error Your MagickFloat_t type is neither a float, nor a double, nor a long double
+#endif
+#if MAGICKCORE_SIZEOF_DOUBLE_T == 0
+typedef double MagickDouble_t;
+#elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_DOUBLE)
+typedef double MagickDouble_t;
+#elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
+typedef long double MagickDouble_t;
+#else
+#error Your MagickDouble_t type is neither a float, nor a double, nor a long double
+#endif
+
 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
 #define MaxColormapSize  256UL
 #define MaxMap  255UL
-typedef double MagickRealType;
+typedef MagickDouble_t MagickRealType;
 
 #if defined(MAGICKCORE_HDRI_SUPPORT)
-typedef float Quantum;
+typedef MagickFloat_t Quantum;
 #define QuantumRange  255.0
 #define QuantumFormat  "%g"
 #else
@@ -53,10 +74,10 @@ typedef unsigned char Quantum;
 #elif (MAGICKCORE_QUANTUM_DEPTH == 16)
 #define MaxColormapSize  65536UL
 #define MaxMap  65535UL
-typedef double MagickRealType;
+typedef MagickDouble_t MagickRealType;
 
 #if defined(MAGICKCORE_HDRI_SUPPORT)
-typedef float Quantum;
+typedef MagickFloat_t Quantum;
 #define QuantumRange  65535.0f
 #define QuantumFormat  "%g"
 #else
@@ -67,7 +88,7 @@ typedef unsigned short Quantum;
 #elif (MAGICKCORE_QUANTUM_DEPTH == 32)
 #define MaxColormapSize  65536UL
 #define MaxMap  65535UL
-typedef double MagickRealType;
+typedef MagickDouble_t MagickRealType;
 
 #if defined(MAGICKCORE_HDRI_SUPPORT)
 typedef double Quantum;