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__) 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_SIZEOF_FLOAT_T == 0 44 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_FLOAT) 46 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_DOUBLE) 48 #elif (MAGICKCORE_SIZEOF_FLOAT_T == MAGICKCORE_SIZEOF_LONG_DOUBLE) 51 #error Your MagickFloatType type is neither a float, nor a double, nor a long double 53 #if MAGICKCORE_SIZEOF_DOUBLE_T == 0 55 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_DOUBLE) 57 #elif (MAGICKCORE_SIZEOF_DOUBLE_T == MAGICKCORE_SIZEOF_LONG_DOUBLE) 60 #error Your MagickDoubleType type is neither a float, nor a double, nor a long double 63 #if (MAGICKCORE_QUANTUM_DEPTH == 8) 64 #define MaxColormapSize 256UL 67 #if defined(MAGICKCORE_HDRI_SUPPORT) 69 #define QuantumRange 255.0 70 #define QuantumFormat "%g" 73 #define QuantumRange ((Quantum) 255) 74 #define QuantumFormat "%u" 76 #elif (MAGICKCORE_QUANTUM_DEPTH == 16) 77 #define MaxColormapSize 65536UL 78 #define MaxMap 65535UL 80 #if defined(MAGICKCORE_HDRI_SUPPORT) 82 #define QuantumRange 65535.0 83 #define QuantumFormat "%g" 86 #define QuantumRange ((Quantum) 65535) 87 #define QuantumFormat "%u" 89 #elif (MAGICKCORE_QUANTUM_DEPTH == 32) 90 #define MaxColormapSize 65536UL 91 #define MaxMap 65535UL 93 #if defined(MAGICKCORE_HDRI_SUPPORT) 95 #define QuantumRange 4294967295.0 96 #define QuantumFormat "%g" 99 #define QuantumRange ((Quantum) 4294967295) 100 #define QuantumFormat "%u" 102 #elif (MAGICKCORE_QUANTUM_DEPTH == 64) 103 #define MAGICKCORE_HDRI_SUPPORT 1 104 #define MaxColormapSize 65536UL 105 #define MaxMap 65535UL 108 #define QuantumRange 18446744073709551615.0 109 #define QuantumFormat "%g" 112 # error "MAGICKCORE_QUANTUM_DEPTH must be one of 8, 16, 32, or 64" 115 #define MagickEpsilon (1.0e-12) 116 #define MagickMaximumValue 1.79769313486231570E+308 117 #define MagickMinimumValue 2.22507385850720140E-308 118 #define MagickStringify(macro_or_string) MagickStringifyArg(macro_or_string) 119 #define MagickStringifyArg(contents) #contents 120 #define QuantumScale ((double) 1.0/(double) QuantumRange) 128 #if !defined(MAGICKCORE_WINDOWS_SUPPORT) 129 #if (MAGICKCORE_SIZEOF_UNSIGNED_LONG_LONG == 8) 132 #define MagickOffsetFormat "lld" 133 #define MagickSizeFormat "llu" 137 #define MagickOffsetFormat "ld" 138 #define MagickSizeFormat "lu" 143 #define MagickOffsetFormat "I64i" 144 #define MagickSizeFormat "I64u" 147 #if MAGICKCORE_HAVE_UINTPTR_T || defined(uintptr_t) 154 #if defined(_MSC_VER) && (_MSC_VER == 1200) 160 #if defined(macintosh) 161 #define ExceptionInfo MagickExceptionInfo 215 #if defined(MAGICKCORE_HAVE_ISNAN) 216 # define IsNaN(a) isnan(a) 217 #elif defined(_MSC_VER) && (_MSC_VER >= 1310) 219 # define IsNaN(a) _isnan(a) 221 # define IsNaN(a) ((a) != (a)) 223 #if !defined(INFINITY) 224 # define INFINITY ((double) -logf(0f)) 235 #if defined(__cplusplus) || defined(c_plusplus) MagickDoubleType MagickRealType
Definition: magick-type.h:125
double MagickDoubleType
Definition: magick-type.h:54
Definition: magick-type.h:185
Definition: exception.h:102
Definition: magick-type.h:174
Definition: magick-type.h:180
Definition: magick-type.h:169
Definition: magick-type.h:194
ssize_t SignedQuantum
Definition: magick-type.h:79
float MagickFloatType
Definition: magick-type.h:43
Definition: magick-type.h:175
ssize_t MagickOffsetType
Definition: magick-type.h:135
Definition: magick-type.h:187
MagickBooleanType
Definition: magick-type.h:198
unsigned int MagickStatusType
Definition: magick-type.h:127
ClassType
Definition: magick-type.h:191
Definition: magick-type.h:171
Definition: magick-type.h:201
size_t MagickSizeType
Definition: magick-type.h:136
Definition: magick-type.h:173
Definition: magick-type.h:188
Definition: magick-type.h:168
Definition: magick-type.h:177
Definition: magick-type.h:176
Definition: magick-type.h:184
ChannelType
Definition: magick-type.h:164
Definition: magick-type.h:170
Definition: magick-type.h:200
unsigned short Quantum
Definition: magick-type.h:85
Definition: magick-type.h:166
Definition: magick-type.h:193
Definition: magick-type.h:172
Definition: magick-type.h:179
Definition: magick-type.h:167
Definition: magick-type.h:195
Definition: magick-type.h:186
size_t MagickAddressType
Definition: magick-type.h:151
MagickSizeType QuantumAny
Definition: magick-type.h:157
Definition: magick-type.h:178