Simple Vector Library 1.5 http://www.cs.cmu.edu/~ajw/doc/svl.html
Constants.h@0:785cff1e5a7c, 2016-01-04 (annotated)
- Committer:
- BartJanssens
- Date:
- Mon Jan 04 15:19:10 2016 +0000
- Revision:
- 0:785cff1e5a7c
svl-1.5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BartJanssens | 0:785cff1e5a7c | 1 | /* |
BartJanssens | 0:785cff1e5a7c | 2 | File: Constants.h |
BartJanssens | 0:785cff1e5a7c | 3 | |
BartJanssens | 0:785cff1e5a7c | 4 | Function: Contains various constants for VL. |
BartJanssens | 0:785cff1e5a7c | 5 | |
BartJanssens | 0:785cff1e5a7c | 6 | Author: Andrew Willmott |
BartJanssens | 0:785cff1e5a7c | 7 | |
BartJanssens | 0:785cff1e5a7c | 8 | Copyright: (c) 1999-2001, Andrew Willmott |
BartJanssens | 0:785cff1e5a7c | 9 | */ |
BartJanssens | 0:785cff1e5a7c | 10 | |
BartJanssens | 0:785cff1e5a7c | 11 | #ifndef __VLConstants__ |
BartJanssens | 0:785cff1e5a7c | 12 | #define __VLConstants__ |
BartJanssens | 0:785cff1e5a7c | 13 | |
BartJanssens | 0:785cff1e5a7c | 14 | #include <cmath> |
BartJanssens | 0:785cff1e5a7c | 15 | #include "Basics.h" |
BartJanssens | 0:785cff1e5a7c | 16 | |
BartJanssens | 0:785cff1e5a7c | 17 | |
BartJanssens | 0:785cff1e5a7c | 18 | // --- Mathematical constants ------------------------------------------------- |
BartJanssens | 0:785cff1e5a7c | 19 | |
BartJanssens | 0:785cff1e5a7c | 20 | |
BartJanssens | 0:785cff1e5a7c | 21 | #ifdef M_PI |
BartJanssens | 0:785cff1e5a7c | 22 | const double vl_pi = M_PI; |
BartJanssens | 0:785cff1e5a7c | 23 | const double vl_halfPi = M_PI_2; |
BartJanssens | 0:785cff1e5a7c | 24 | #elif defined(_PI) |
BartJanssens | 0:785cff1e5a7c | 25 | const double vl_pi = _PI; |
BartJanssens | 0:785cff1e5a7c | 26 | const double vl_halfPi = vl_pi / 2.0; |
BartJanssens | 0:785cff1e5a7c | 27 | #else |
BartJanssens | 0:785cff1e5a7c | 28 | const double vl_pi = 3.14159265358979323846; |
BartJanssens | 0:785cff1e5a7c | 29 | const double vl_halfPi = vl_pi / 2.0; |
BartJanssens | 0:785cff1e5a7c | 30 | #endif |
BartJanssens | 0:785cff1e5a7c | 31 | |
BartJanssens | 0:785cff1e5a7c | 32 | #ifdef HUGE_VAL |
BartJanssens | 0:785cff1e5a7c | 33 | const double vl_inf = HUGE_VAL; |
BartJanssens | 0:785cff1e5a7c | 34 | #endif |
BartJanssens | 0:785cff1e5a7c | 35 | |
BartJanssens | 0:785cff1e5a7c | 36 | enum ZeroOrOne { vl_zero = 0, vl_0 = 0, vl_one = 1, vl_I = 1, vl_1 = 1 }; |
BartJanssens | 0:785cff1e5a7c | 37 | enum Block { vl_Z = 0, vl_B = 1, vl_block = 1 }; |
BartJanssens | 0:785cff1e5a7c | 38 | enum Axis { vl_x, vl_y, vl_z, vl_w }; |
BartJanssens | 0:785cff1e5a7c | 39 | typedef Axis vl_axis; |
BartJanssens | 0:785cff1e5a7c | 40 | |
BartJanssens | 0:785cff1e5a7c | 41 | const UInt VL_REF_FLAG = UInt(1) << (sizeof(UInt) * 8 - 1); |
BartJanssens | 0:785cff1e5a7c | 42 | const UInt VL_REF_MASK = (~VL_REF_FLAG); |
BartJanssens | 0:785cff1e5a7c | 43 | |
BartJanssens | 0:785cff1e5a7c | 44 | #endif |