mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* 
 | 
						|
 * The Python Imaging Library
 | 
						|
 * $Id$
 | 
						|
 *
 | 
						|
 * platform declarations for the imaging core library
 | 
						|
 *
 | 
						|
 * Copyright (c) Fredrik Lundh 1995-2003.
 | 
						|
 */
 | 
						|
 | 
						|
#include "Python.h"
 | 
						|
 | 
						|
/* Check that we have an ANSI compliant compiler */
 | 
						|
#ifndef HAVE_PROTOTYPES
 | 
						|
#error Sorry, this library requires support for ANSI prototypes.
 | 
						|
#endif
 | 
						|
#ifndef STDC_HEADERS
 | 
						|
#error Sorry, this library requires ANSI header files.
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined(_MSC_VER)
 | 
						|
#ifndef WIN32
 | 
						|
#define WIN32
 | 
						|
#endif
 | 
						|
/* VC++ 4.0 is a bit annoying when it comes to precision issues (like
 | 
						|
   claiming that "float a = 0.0;" would lead to loss of precision).  I
 | 
						|
   don't like to see warnings from my code, but since I still want to
 | 
						|
   keep it readable, I simply switch off a few warnings instead of adding
 | 
						|
   the tons of casts that VC++ seem to require.  This code is compiled
 | 
						|
   with numerous other compilers as well, so any real errors are likely
 | 
						|
   to be catched anyway. */
 | 
						|
#pragma warning(disable: 4244) /* conversion from 'float' to 'int' */
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined(_MSC_VER)
 | 
						|
#define inline __inline
 | 
						|
#elif !defined(USE_INLINE)
 | 
						|
#define inline
 | 
						|
#endif
 | 
						|
 | 
						|
#if SIZEOF_SHORT == 2
 | 
						|
#define	INT16 short
 | 
						|
#elif SIZEOF_INT == 2
 | 
						|
#define	INT16 int
 | 
						|
#else
 | 
						|
#define	INT16 short /* most things works just fine anyway... */
 | 
						|
#endif
 | 
						|
 | 
						|
#if SIZEOF_SHORT == 4
 | 
						|
#define	INT32 short
 | 
						|
#elif SIZEOF_INT == 4
 | 
						|
#define	INT32 int
 | 
						|
#elif SIZEOF_LONG == 4
 | 
						|
#define	INT32 long
 | 
						|
#else
 | 
						|
#error Cannot find required 32-bit integer type
 | 
						|
#endif
 | 
						|
 | 
						|
#if SIZEOF_LONG == 8
 | 
						|
#define	INT64 long
 | 
						|
#elif SIZEOF_LONG_LONG == 8
 | 
						|
#define	INT64 long
 | 
						|
#endif
 | 
						|
 | 
						|
/* assume IEEE; tweak if necessary (patches are welcome) */
 | 
						|
#define	FLOAT32 float
 | 
						|
#define	FLOAT64 double
 | 
						|
 | 
						|
#define	INT8  signed char
 | 
						|
#define	UINT8 unsigned char
 | 
						|
 | 
						|
#define	UINT16 unsigned INT16
 | 
						|
#define	UINT32 unsigned INT32
 |