Panda3D
|
00001 // Filename: numeric_types.h 00002 // Created by: drose (06Jun00) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #ifndef NUMERIC_TYPES_H 00016 #define NUMERIC_TYPES_H 00017 00018 #include "dtoolbase.h" 00019 00020 // This header file defines a number of typedefs that correspond to 00021 // the various numeric types for unsigned and signed numbers of 00022 // various widths. 00023 00024 #if defined(WIN32_VC) && !defined(CPPPARSER) 00025 typedef signed __int8 PN_int8; 00026 typedef signed __int16 PN_int16; 00027 typedef signed __int32 PN_int32; 00028 typedef signed __int64 PN_int64; 00029 00030 typedef unsigned __int8 PN_uint8; 00031 typedef unsigned __int16 PN_uint16; 00032 typedef unsigned __int32 PN_uint32; 00033 typedef unsigned __int64 PN_uint64; 00034 00035 #else 00036 00037 typedef signed char PN_int8; 00038 typedef short int PN_int16; 00039 typedef int PN_int32; 00040 typedef long long int PN_int64; 00041 00042 typedef unsigned char PN_uint8; 00043 typedef unsigned short int PN_uint16; 00044 typedef unsigned int PN_uint32; 00045 typedef unsigned long long int PN_uint64; 00046 00047 #endif 00048 00049 typedef double PN_float64; 00050 typedef float PN_float32; 00051 00052 #ifndef STDFLOAT_DOUBLE 00053 // The default setting--single-precision floats. 00054 typedef float PN_stdfloat; 00055 #else // STDFLOAT_DOUBLE 00056 // The specialty setting--double-precision floats. 00057 typedef double PN_stdfloat; 00058 #endif // STDFLOAT_DOUBLE 00059 00060 #endif 00061