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
31 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__MINGW32__) && !defined(__MINGW64__)
32 # define MagickLLConstant(c) (MagickOffsetType) (c ## i64)
33 # define MagickULLConstant(c) (MagickSizeType) (c ## ui64)
35 # define MagickLLConstant(c) (MagickOffsetType) (c ## LL)
36 # define MagickULLConstant(c) (MagickSizeType) (c ## ULL)
39 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
40 #define MaxColormapSize 256UL
46 #if MAGICKCORE_SIZEOF_FLOAT_T == 0
48 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT)
50 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE)
52 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
55 # error Your float_t type is neither a float, nor a double, nor a long double
59 #if defined(MAGICKCORE_HDRI_SUPPORT)
61 #define QuantumRange 255.0
62 #define QuantumFormat "%g"
65 #define QuantumRange ((Quantum) 255)
66 #define QuantumFormat "%u"
68 #elif (MAGICKCORE_QUANTUM_DEPTH == 16)
69 #define MaxColormapSize 65536UL
70 #define MaxMap 65535UL
75 #if MAGICKCORE_SIZEOF_FLOAT_T == 0
77 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT)
79 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE)
81 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
84 # error Your float_t type is neither a float, nor a double, nor a long double
88 #if defined(MAGICKCORE_HDRI_SUPPORT)
90 #define QuantumRange 65535.0
91 #define QuantumFormat "%g"
94 #define QuantumRange ((Quantum) 65535)
95 #define QuantumFormat "%u"
97 #elif (MAGICKCORE_QUANTUM_DEPTH == 32)
98 #define MaxColormapSize 65536UL
99 #define MaxMap 65535UL
104 #if MAGICKCORE_SIZEOF_DOUBLE_T == 0
106 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_DOUBLE)
108 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_LONG_DOUBLE)
111 # error Your double_t type is neither a float, nor a double, nor a long double
115 #if defined(MAGICKCORE_HDRI_SUPPORT)
117 #define QuantumRange 4294967295.0
118 #define QuantumFormat "%g"
121 #define QuantumRange ((Quantum) 4294967295)
122 #define QuantumFormat "%u"
124 #elif (MAGICKCORE_QUANTUM_DEPTH == 64)
125 #define MAGICKCORE_HDRI_SUPPORT 1
126 #define MaxColormapSize 65536UL
127 #define MaxMap 65535UL
132 #define QuantumRange 18446744073709551615.0
133 #define QuantumFormat "%g"
136 # error "MAGICKCORE_QUANTUM_DEPTH must be one of 8, 16, 32, or 64"
139 #define MagickEpsilon (1.0e-15)
140 #define MagickMaximumValue 1.79769313486231570E+308
141 #define MagickMinimumValue 2.22507385850720140E-308
142 #define QuantumScale ((double) 1.0/(double) QuantumRange)
148 #if !defined(MAGICKCORE_WINDOWS_SUPPORT)
149 #if (MAGICKCORE_SIZEOF_UNSIGNED_LONG_LONG == 8)
152 #define MagickOffsetFormat "lld"
153 #define MagickSizeFormat "llu"
157 #define MagickOffsetFormat "ld"
158 #define MagickSizeFormat "lu"
163 #define MagickOffsetFormat "I64i"
164 #define MagickSizeFormat "I64u"
167 #if defined(_MSC_VER) && (_MSC_VER == 1200)
173 #if defined(macintosh)
174 #define ExceptionInfo MagickExceptionInfo
225 #if defined(__cplusplus) || defined(c_plusplus)
Definition: magick-type.h:198
Definition: exception.h:102
Definition: magick-type.h:187
Definition: magick-type.h:193
Definition: magick-type.h:182
Definition: magick-type.h:207
float MagickRealType
Definition: magick-type.h:76
ssize_t SignedQuantum
Definition: magick-type.h:87
Definition: magick-type.h:188
ssize_t MagickOffsetType
Definition: magick-type.h:155
Definition: magick-type.h:200
MagickBooleanType
Definition: magick-type.h:211
unsigned int MagickStatusType
Definition: magick-type.h:147
ClassType
Definition: magick-type.h:204
Definition: magick-type.h:184
Definition: magick-type.h:214
size_t MagickSizeType
Definition: magick-type.h:156
Definition: magick-type.h:186
Definition: magick-type.h:201
Definition: magick-type.h:181
Definition: magick-type.h:190
Definition: magick-type.h:189
Definition: magick-type.h:197
ChannelType
Definition: magick-type.h:177
Definition: magick-type.h:183
Definition: magick-type.h:213
unsigned short Quantum
Definition: magick-type.h:93
Definition: magick-type.h:179
Definition: magick-type.h:206
Definition: magick-type.h:185
Definition: magick-type.h:192
Definition: magick-type.h:180
Definition: magick-type.h:208
Definition: magick-type.h:199
MagickSizeType QuantumAny
Definition: magick-type.h:170
Definition: magick-type.h:191