18 #ifndef _MAGICKCORE_MAGICK_TYPE_H
19 #define _MAGICKCORE_MAGICK_TYPE_H
23 #if defined(__cplusplus) || defined(c_plusplus)
27 #if !defined(MAGICKCORE_QUANTUM_DEPTH)
28 #define MAGICKCORE_QUANTUM_DEPTH 16
30 #if !defined(MagickPathExtent)
31 #define MagickPathExtent MaxTextExtent
34 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__MINGW32__) && !defined(__MINGW64__)
35 # define MagickLLConstant(c) (MagickOffsetType) (c ## i64)
36 # define MagickULLConstant(c) (MagickSizeType) (c ## ui64)
38 # define MagickLLConstant(c) (MagickOffsetType) (c ## LL)
39 # define MagickULLConstant(c) (MagickSizeType) (c ## ULL)
42 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
43 #define MaxColormapSize 256UL
49 #if MAGICKCORE_SIZEOF_FLOAT_T == 0
51 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT)
53 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE)
55 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
58 # error Your float_t type is neither a float, nor a double, nor a long double
62 #if defined(MAGICKCORE_HDRI_SUPPORT)
64 #define QuantumRange 255.0
65 #define QuantumFormat "%g"
68 #define QuantumRange ((Quantum) 255)
69 #define QuantumFormat "%u"
71 #elif (MAGICKCORE_QUANTUM_DEPTH == 16)
72 #define MaxColormapSize 65536UL
73 #define MaxMap 65535UL
78 #if MAGICKCORE_SIZEOF_FLOAT_T == 0
80 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT)
82 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE)
84 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
87 # error Your float_t type is neither a float, nor a double, nor a long double
91 #if defined(MAGICKCORE_HDRI_SUPPORT)
93 #define QuantumRange 65535.0
94 #define QuantumFormat "%g"
97 #define QuantumRange ((Quantum) 65535)
98 #define QuantumFormat "%u"
100 #elif (MAGICKCORE_QUANTUM_DEPTH == 32)
101 #define MaxColormapSize 65536UL
102 #define MaxMap 65535UL
107 #if MAGICKCORE_SIZEOF_DOUBLE_T == 0
109 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_DOUBLE)
111 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
114 # error Your double_t type is neither a float, nor a double, nor a long double
118 #if defined(MAGICKCORE_HDRI_SUPPORT)
120 #define QuantumRange 4294967295.0
121 #define QuantumFormat "%g"
124 #define QuantumRange ((Quantum) 4294967295)
125 #define QuantumFormat "%u"
127 #elif (MAGICKCORE_QUANTUM_DEPTH == 64)
128 #define MAGICKCORE_HDRI_SUPPORT
129 #define MaxColormapSize 65536UL
130 #define MaxMap 65535UL
135 #define QuantumRange 18446744073709551615.0
136 #define QuantumFormat "%g"
139 # error "MAGICKCORE_QUANTUM_DEPTH must be one of 8, 16, 32, or 64"
142 #define MagickEpsilon (1.0e-15)
143 #define MagickMaximumValue 1.79769313486231570E+308
144 #define MagickMinimumValue 2.22507385850720140E-308
145 #define QuantumScale ((double) 1.0/(double) QuantumRange)
151 #if !defined(MAGICKCORE_WINDOWS_SUPPORT)
152 #if (MAGICKCORE_SIZEOF_UNSIGNED_LONG_LONG == 8)
155 #define MagickOffsetFormat "lld"
156 #define MagickSizeFormat "llu"
160 #define MagickOffsetFormat "ld"
161 #define MagickSizeFormat "lu"
166 #define MagickOffsetFormat "I64i"
167 #define MagickSizeFormat "I64u"
170 #if defined(_MSC_VER) && (_MSC_VER == 1200)
176 #if defined(macintosh)
177 #define ExceptionInfo MagickExceptionInfo
228 #if defined(__cplusplus) || defined(c_plusplus)
Definition: magick-type.h:201
Definition: exception.h:102
Definition: magick-type.h:190
Definition: magick-type.h:196
Definition: magick-type.h:185
Definition: magick-type.h:210
float MagickRealType
Definition: magick-type.h:79
ssize_t SignedQuantum
Definition: magick-type.h:90
Definition: magick-type.h:191
ssize_t MagickOffsetType
Definition: magick-type.h:158
Definition: magick-type.h:203
MagickBooleanType
Definition: magick-type.h:214
unsigned int MagickStatusType
Definition: magick-type.h:150
ClassType
Definition: magick-type.h:207
Definition: magick-type.h:187
Definition: magick-type.h:217
size_t MagickSizeType
Definition: magick-type.h:159
Definition: magick-type.h:189
Definition: magick-type.h:204
Definition: magick-type.h:184
Definition: magick-type.h:193
Definition: magick-type.h:192
Definition: magick-type.h:200
ChannelType
Definition: magick-type.h:180
Definition: magick-type.h:186
Definition: magick-type.h:216
unsigned short Quantum
Definition: magick-type.h:96
Definition: magick-type.h:182
Definition: magick-type.h:209
Definition: magick-type.h:188
Definition: magick-type.h:195
Definition: magick-type.h:183
Definition: magick-type.h:211
Definition: magick-type.h:202
MagickSizeType QuantumAny
Definition: magick-type.h:173
Definition: magick-type.h:194