00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef PS_CONSTANTS_H
00026 #define PS_CONSTANTS_H
00027
00028
00029
00030
00031 #include <math.h>
00032
00033
00034
00035
00036 #ifndef M_PI
00037 #define M_PI 3.1415926535897932384626433832795029
00038 #define M_PI_2 1.5707963267948966192313216916397514
00039 #define M_PI_4 0.7853981633974483096156608458198757
00040 #define M_1_PI 0.3183098861837906715377675267450287
00041 #define M_2_PI 0.6366197723675813430755350534900574
00042 #endif // #ifndef M_PI
00043
00044 #define DEG_TO_RAD(DEGREES) ((DEGREES) * M_PI / 180.0)
00045 #define MIN_TO_RAD(MINUTES) ((MINUTES) * M_PI / (180.0 * 60.0))
00046 #define SEC_TO_RAD(SECONDS) ((SECONDS) * M_PI / (180.0 * 60.0 * 60.0))
00047 #define RAD_TO_DEG(RADIANS) ((RADIANS) * 180.0 / M_PI)
00048 #define RAD_TO_MIN(RADIANS) ((RADIANS) * 180.0 * 60.0 / M_PI)
00049 #define RAD_TO_SEC(RADIANS) ((RADIANS) * 180.0 * 60.0 * 60.0 / M_PI)
00050
00051
00052
00053
00054 #define PS_MAX(A, B) \
00055 (((A) > (B)) ? (A) : (B))
00056
00057 #define PS_MIN(A, B) \
00058 (((A) < (B)) ? (A) : (B))
00059
00060 #define PS_SQR(A) \
00061 ((A) * (A))
00062
00063 #define PS_SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;}
00064
00065
00066 #define PS_NOT_U8(A)(UCHAR_MAX-(A)) // Perform bitwise NOT on A which is of type U8
00067 #define PS_NOT_U16(A)(USHORT_MAX-(A)) // Perform bitwaise NOT on A which is of type U16
00068
00069
00070 #endif