00001 /* ---------------------------------------------------------------------------- 00002 Description : iXiONmedia library base declarations 00003 ---------------------------------------------------------------------------- 00004 (c) Copyright 1996 by iXiONmedia, all rights reserved. 00005 ---------------------------------------------------------------------------- 00006 This header must be C-safe for autoconf purposes. 00007 */ 00008 00009 00010 00011 00012 #ifndef IXLIB_BASE 00013 #define IXLIB_BASE 00014 00015 00016 00017 00018 #ifdef HAVE_CONFIG_H 00019 #include <ixlib_config.hh> 00020 #undef PACKAGE 00021 #undef VERSION 00022 #endif 00023 00024 00025 00026 00027 #ifdef __cplusplus 00028 namespace ixion { 00029 extern "C" { 00030 #endif 00031 /* Aliases -------------------------------------------------------------------- 00032 */ 00033 const double Pi = 3.141592653589793285; 00034 const double Euler = 2.718281828; 00035 const double Gravity = 9.8065; // m/s^2 00036 const double UniGravity = 6.673e-11; // m^3/kg s^2 00037 const double Epsilon0 = 8.8542e-12; // F/m 00038 const double Mu0 = 1.2566e-6; // H/m 00039 const double LightSpeed = 2.9972e8; // m/s 00040 const double Planck = 6.6261e-34; // Js 00041 00042 00043 00044 00045 /* STL Helper macro ----------------------------------------------------------- 00046 */ 00047 #define FOREACH(VAR,LIST,LISTTYPE) \ 00048 for (LISTTYPE::iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++) 00049 #define FOREACH_CONST(VAR,LIST,LISTTYPE) \ 00050 for (LISTTYPE::const_iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++) 00051 00052 00053 00054 00055 /* Nomenclature typedefs ------------------------------------------------------ 00056 */ 00057 typedef unsigned char TUnsigned8; 00058 typedef unsigned short TUnsigned16; 00059 typedef unsigned long TUnsigned32; 00060 typedef unsigned long long TUnsigned64; 00061 00062 typedef signed char TSigned8; 00063 typedef signed short TSigned16; 00064 typedef signed long TSigned32; 00065 typedef signed long long TSigned64; 00066 00067 typedef TSigned8 TDelta8; 00068 typedef TSigned16 TDelta16; 00069 typedef TSigned32 TDelta32; 00070 typedef TSigned64 TDelta64; 00071 typedef signed TDelta; 00072 00073 typedef TUnsigned8 TSize8; 00074 typedef TUnsigned16 TSize16; 00075 typedef TUnsigned32 TSize32; 00076 typedef TUnsigned64 TSize64; 00077 typedef unsigned TSize; 00078 00079 typedef TUnsigned8 TIndex8; 00080 typedef TUnsigned16 TIndex16; 00081 typedef TUnsigned32 TIndex32; 00082 typedef TUnsigned64 TIndex64; 00083 typedef unsigned TIndex; 00084 00085 typedef TUnsigned8 TByte; 00086 00087 00088 00089 00090 int ixlibGetMajorVersion(); 00091 int ixlibGetMinorVersion(); 00092 int ixlibGetMicroVersion(); 00093 00094 void ixlibInitI18n(); 00095 00096 00097 00098 00099 #ifdef __cplusplus 00100 } 00101 } 00102 #endif 00103 00104 00105 00106 00107 #endif