mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Inline LONG_LONG conversions
Not only NUM2LL, also LL2NUM, ULL2NUM and NUM2ULL.
This commit is contained in:
parent
f8e1bf283d
commit
393923b50d
1 changed files with 26 additions and 3 deletions
|
@ -25,12 +25,12 @@
|
||||||
#include "ruby/internal/special_consts.h"
|
#include "ruby/internal/special_consts.h"
|
||||||
#include "ruby/backward/2/long_long.h"
|
#include "ruby/backward/2/long_long.h"
|
||||||
|
|
||||||
#define RB_LL2NUM rb_ll2inum
|
#define RB_LL2NUM rb_ll2num_inline
|
||||||
#define RB_ULL2NUM rb_ull2inum
|
#define RB_ULL2NUM rb_ull2num_inline
|
||||||
#define LL2NUM RB_LL2NUM
|
#define LL2NUM RB_LL2NUM
|
||||||
#define ULL2NUM RB_ULL2NUM
|
#define ULL2NUM RB_ULL2NUM
|
||||||
#define RB_NUM2LL rb_num2ll_inline
|
#define RB_NUM2LL rb_num2ll_inline
|
||||||
#define RB_NUM2ULL rb_num2ull
|
#define RB_NUM2ULL rb_num2ull_inline
|
||||||
#define NUM2LL RB_NUM2LL
|
#define NUM2LL RB_NUM2LL
|
||||||
#define NUM2ULL RB_NUM2ULL
|
#define NUM2ULL RB_NUM2ULL
|
||||||
|
|
||||||
|
@ -41,6 +41,20 @@ LONG_LONG rb_num2ll(VALUE);
|
||||||
unsigned LONG_LONG rb_num2ull(VALUE);
|
unsigned LONG_LONG rb_num2ull(VALUE);
|
||||||
RBIMPL_SYMBOL_EXPORT_END()
|
RBIMPL_SYMBOL_EXPORT_END()
|
||||||
|
|
||||||
|
static inline VALUE
|
||||||
|
rb_ll2num_inline(LONG_LONG n)
|
||||||
|
{
|
||||||
|
if (FIXABLE(n)) return LONG2FIX((long)n);
|
||||||
|
return rb_ll2inum(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline VALUE
|
||||||
|
rb_ull2num_inline(unsigned LONG_LONG n)
|
||||||
|
{
|
||||||
|
if (POSFIXABLE(n)) return LONG2FIX((long)n);
|
||||||
|
return rb_ull2inum(n);
|
||||||
|
}
|
||||||
|
|
||||||
static inline LONG_LONG
|
static inline LONG_LONG
|
||||||
rb_num2ll_inline(VALUE x)
|
rb_num2ll_inline(VALUE x)
|
||||||
{
|
{
|
||||||
|
@ -50,4 +64,13 @@ rb_num2ll_inline(VALUE x)
|
||||||
return rb_num2ll(x);
|
return rb_num2ll(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline unsigned LONG_LONG
|
||||||
|
rb_num2ull_inline(VALUE x)
|
||||||
|
{
|
||||||
|
if (RB_FIXNUM_P(x))
|
||||||
|
return RB_FIX2LONG(x);
|
||||||
|
else
|
||||||
|
return rb_num2ull(x);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* RBIMPL_ARITHMETIC_LONG_LONG_H */
|
#endif /* RBIMPL_ARITHMETIC_LONG_LONG_H */
|
||||||
|
|
Loading…
Reference in a new issue