1
0

CCMathBase.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __CCMATHBASE_H__
  2. #define __CCMATHBASE_H__
  3. #include <memory>
  4. #include <string.h>
  5. #include "platform/CCPlatformMacros.h"
  6. /**
  7. * @addtogroup base
  8. * @{
  9. */
  10. /**Util macro for conversion from degrees to radians.*/
  11. #define MATH_DEG_TO_RAD(x) ((x) * 0.0174532925f)
  12. /**Util macro for conversion from radians to degrees.*/
  13. #define MATH_RAD_TO_DEG(x) ((x)* 57.29577951f)
  14. /**
  15. @{ Util macro for const float such as epsilon, small float and float precision tolerance.
  16. */
  17. #define MATH_FLOAT_SMALL 1.0e-37f
  18. #define MATH_TOLERANCE 2e-37f
  19. #define MATH_PIOVER2 1.57079632679489661923f
  20. #define MATH_EPSILON 0.000001f
  21. /**@}*/
  22. //#define MATH_PIOVER4 0.785398163397448309616f
  23. //#define MATH_PIX2 6.28318530717958647693f
  24. //#define MATH_E 2.71828182845904523536f
  25. //#define MATH_LOG10E 0.4342944819032518f
  26. //#define MATH_LOG2E 1.442695040888963387f
  27. //#define MATH_PI 3.14159265358979323846f
  28. //#define MATH_RANDOM_MINUS1_1() ((2.0f*((float)rand()/RAND_MAX))-1.0f) // Returns a random float between -1 and 1.
  29. //#define MATH_RANDOM_0_1() ((float)rand()/RAND_MAX) // Returns a random float between 0 and 1.
  30. //#define MATH_CLAMP(x, lo, hi) ((x < lo) ? lo : ((x > hi) ? hi : x))
  31. //#ifndef M_1_PI
  32. //#define M_1_PI 0.31830988618379067154
  33. #ifdef __cplusplus
  34. #define NS_CC_MATH_BEGIN namespace cocos2d {
  35. #define NS_CC_MATH_END }
  36. #define USING_NS_CC_MATH using namespace cocos2d
  37. #else
  38. #define NS_CC_MATH_BEGIN
  39. #define NS_CC_MATH_END
  40. #define USING_NS_CC_MATH
  41. #endif
  42. /**
  43. * end of base group
  44. * @}
  45. */
  46. #endif // __CCMATHBASE_H__