round.hpp 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*=============================================================================
  2. Copyright (c) 2011 Thomas Heller
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. ==============================================================================*/
  6. #ifndef BOOST_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
  7. #define BOOST_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
  8. #include <boost/preprocessor/cat.hpp>
  9. #include <boost/preprocessor/comparison/less.hpp>
  10. #include <boost/preprocessor/control/if.hpp>
  11. #define BOOST_PHOENIX_PP_ROUND_UP(N) \
  12. BOOST_PP_CAT(BOOST_PHOENIX_PP_DO_ROUND_UP_, N)() \
  13. /**/
  14. #define BOOST_PHOENIX_PP_DO_ROUND_UP_0() 10
  15. #define BOOST_PHOENIX_PP_DO_ROUND_UP_1() 10
  16. #define BOOST_PHOENIX_PP_DO_ROUND_UP_2() 10
  17. #define BOOST_PHOENIX_PP_DO_ROUND_UP_3() 10
  18. #define BOOST_PHOENIX_PP_DO_ROUND_UP_4() 10
  19. #define BOOST_PHOENIX_PP_DO_ROUND_UP_5() 10
  20. #define BOOST_PHOENIX_PP_DO_ROUND_UP_6() 10
  21. #define BOOST_PHOENIX_PP_DO_ROUND_UP_7() 10
  22. #define BOOST_PHOENIX_PP_DO_ROUND_UP_8() 10
  23. #define BOOST_PHOENIX_PP_DO_ROUND_UP_9() 10
  24. #define BOOST_PHOENIX_PP_DO_ROUND_UP_10() 10
  25. #define BOOST_PHOENIX_PP_DO_ROUND_UP_11() 20
  26. #define BOOST_PHOENIX_PP_DO_ROUND_UP_12() 20
  27. #define BOOST_PHOENIX_PP_DO_ROUND_UP_13() 20
  28. #define BOOST_PHOENIX_PP_DO_ROUND_UP_14() 20
  29. #define BOOST_PHOENIX_PP_DO_ROUND_UP_15() 20
  30. #define BOOST_PHOENIX_PP_DO_ROUND_UP_16() 20
  31. #define BOOST_PHOENIX_PP_DO_ROUND_UP_17() 20
  32. #define BOOST_PHOENIX_PP_DO_ROUND_UP_18() 20
  33. #define BOOST_PHOENIX_PP_DO_ROUND_UP_19() 20
  34. #define BOOST_PHOENIX_PP_DO_ROUND_UP_20() 20
  35. #define BOOST_PHOENIX_PP_DO_ROUND_UP_21() 30
  36. #define BOOST_PHOENIX_PP_DO_ROUND_UP_22() 30
  37. #define BOOST_PHOENIX_PP_DO_ROUND_UP_23() 30
  38. #define BOOST_PHOENIX_PP_DO_ROUND_UP_24() 30
  39. #define BOOST_PHOENIX_PP_DO_ROUND_UP_25() 30
  40. #define BOOST_PHOENIX_PP_DO_ROUND_UP_26() 30
  41. #define BOOST_PHOENIX_PP_DO_ROUND_UP_27() 30
  42. #define BOOST_PHOENIX_PP_DO_ROUND_UP_28() 30
  43. #define BOOST_PHOENIX_PP_DO_ROUND_UP_29() 30
  44. #define BOOST_PHOENIX_PP_DO_ROUND_UP_30() 30
  45. #define BOOST_PHOENIX_PP_DO_ROUND_UP_31() 40
  46. #define BOOST_PHOENIX_PP_DO_ROUND_UP_32() 40
  47. #define BOOST_PHOENIX_PP_DO_ROUND_UP_33() 40
  48. #define BOOST_PHOENIX_PP_DO_ROUND_UP_34() 40
  49. #define BOOST_PHOENIX_PP_DO_ROUND_UP_35() 40
  50. #define BOOST_PHOENIX_PP_DO_ROUND_UP_36() 40
  51. #define BOOST_PHOENIX_PP_DO_ROUND_UP_37() 40
  52. #define BOOST_PHOENIX_PP_DO_ROUND_UP_38() 40
  53. #define BOOST_PHOENIX_PP_DO_ROUND_UP_39() 40
  54. #define BOOST_PHOENIX_PP_DO_ROUND_UP_40() 40
  55. #define BOOST_PHOENIX_PP_DO_ROUND_UP_41() 50
  56. #define BOOST_PHOENIX_PP_DO_ROUND_UP_42() 50
  57. #define BOOST_PHOENIX_PP_DO_ROUND_UP_43() 50
  58. #define BOOST_PHOENIX_PP_DO_ROUND_UP_44() 50
  59. #define BOOST_PHOENIX_PP_DO_ROUND_UP_45() 50
  60. #define BOOST_PHOENIX_PP_DO_ROUND_UP_46() 50
  61. #define BOOST_PHOENIX_PP_DO_ROUND_UP_47() 50
  62. #define BOOST_PHOENIX_PP_DO_ROUND_UP_48() 50
  63. #define BOOST_PHOENIX_PP_DO_ROUND_UP_49() 50
  64. #define BOOST_PHOENIX_PP_DO_ROUND_UP_50() 50
  65. #endif