00001 /* 00002 File: VLConstants.h 00003 00004 Function: Contains various constants for VL. 00005 00006 Author: Andrew Willmott 00007 00008 Copyright: (c) 1999-2000, Andrew Willmott 00009 */ 00010 00011 #ifndef __VLConstants__ 00012 #define __VLConstants__ 00013 00014 #include <math.h> 00015 00016 00017 // --- Mathematical constants ------------------------------------------------- 00018 00019 00020 #ifdef M_PI 00021 const Real vl_pi = M_PI; 00022 const Real vl_halfPi = M_PI_2; 00023 #elif defined(_PI) 00024 const Real vl_pi = _PI; 00025 const Real vl_halfPi = vl_pi / 2.0; 00026 #else 00027 const Real vl_pi = 3.14159265358979323846; 00028 const Real vl_halfPi = vl_pi / 2.0; 00029 #endif 00030 00031 #ifdef HUGE_VAL 00032 const Double vl_inf = HUGE_VAL; 00033 #endif 00034 00035 enum ZeroOrOne { vl_zero = 0, vl_0 = 0, vl_one = 1, vl_I = 1, vl_1 = 1 }; 00036 enum Block { vl_Z = 0, vl_B = 1, vl_block = 1 }; 00037 enum Axis { vl_x, vl_y, vl_z, vl_w }; 00038 typedef Axis vl_axis; 00039 00040 const UInt32 VL_REF_FLAG = UInt32(1) << (sizeof(UInt32) * 8 - 1); 00041 const UInt32 VL_REF_MASK = (~VL_REF_FLAG); 00042 enum { VL_SV_END = -1 }; 00043 const UInt32 VL_SV_MAX_INDEX = (1 << 30); 00044 const Int VL_MAX_STEPS = 10000; 00045 00046 #endif