internal.h: round macros

* internal.h (ROUND_FUNC, ROUND_CALL): macros wrapping round
  functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-11-18 06:29:51 +00:00
parent d9035a8fd4
commit 81ec47ea18
3 changed files with 26 additions and 16 deletions

View file

@ -1151,8 +1151,14 @@ enum ruby_num_rounding_mode {
RUBY_NUM_ROUND_HALF_EVEN,
RUBY_NUM_ROUND_DEFAULT = ROUND_DEFAULT
};
#define ROUND_TO(mode, up, even) \
((mode) == RUBY_NUM_ROUND_HALF_EVEN ? even : up)
#define ROUND_TO(mode, even, up) \
((mode) == RUBY_NUM_ROUND_HALF_EVEN ? even : \
up)
#define ROUND_FUNC(mode, name) \
ROUND_TO(mode, name##_half_even, name##_half_up)
#define ROUND_CALL(mode, name, args) \
ROUND_TO(mode, name##_half_even args, \
name##_half_up args)
int rb_num_to_uint(VALUE val, unsigned int *ret);
VALUE ruby_num_interval_step_size(VALUE from, VALUE to, VALUE step, int excl);