blob: 2baeb4ed3025a32faad8e1e04f1092afc3023a5a [file] [log] [blame]
/*****************************************************************************/
// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved.
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in
// accordance with the terms of the Adobe license agreement accompanying it.
/*****************************************************************************/
/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_types.h#1 $ */
/* $DateTime: 2012/05/30 13:28:51 $ */
/* $Change: 832332 $ */
/* $Author: tknoll $ */
/*****************************************************************************/
#ifndef __dng_types__
#define __dng_types__
/*****************************************************************************/
#include "dng_flags.h"
/*****************************************************************************/
// Standard integer types.
#ifdef _MSC_VER
#include <stddef.h>
#endif
#include <stdint.h>
/*****************************************************************************/
#if qDNGUseCustomIntegralTypes
#include "dng_custom_integral_types.h"
#elif qDNGUseStdInt || 1
typedef int8_t int8;
typedef int16_t int16;
typedef int32_t int32;
typedef int64_t int64;
typedef uint8_t uint8;
typedef uint16_t uint16;
typedef uint32_t uint32;
typedef uint64_t uint64;
#else
typedef signed char int8;
typedef signed short int16;
#if __LP64__
typedef signed int int32;
#else
typedef signed long int32;
#endif
typedef signed long long int64;
typedef unsigned char uint8;
typedef unsigned short uint16;
/*Some Mac OS X 10.5 SDK headers already define uint32.*/
#ifndef _UINT32
#if __LP64__
typedef unsigned int uint32;
#else
typedef unsigned long uint32;
#endif
#define _UINT32
#endif
typedef unsigned long long uint64;
#endif
typedef uintptr_t uintptr;
/*****************************************************************************/
typedef float real32;
typedef double real64;
/*****************************************************************************/
/// \def Build a Macintosh style four-character constant in a compiler safe way.
#define DNG_CHAR4(a,b,c,d) ((((uint32) a) << 24) |\
(((uint32) b) << 16) |\
(((uint32) c) << 8) |\
(((uint32) d) ))
/*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
/*****************************************************************************/
// Visual Studio now prefers _hypot to hypot
// Note: since Visual Studio 2010, there is a definition of hypot (in math.h),
// we only define hypot here for the older Visual Studio versions.
#if defined(_MSC_VER) && _MSC_VER < 1600
#ifdef hypot
#undef hypot
#endif
#define hypot _hypot
#endif
/*****************************************************************************/
#endif
/*****************************************************************************/