1 #ifndef RBIMPL_ARITHMERIC_ST_DATA_T_H
2 #define RBIMPL_ARITHMERIC_ST_DATA_T_H
28 #include "ruby/internal/cast.h"
33 #define ST2FIX RB_ST2FIX
35 #define RB_ST2FIX RB_ST2FIX
71 unsigned long y = RBIMPL_CAST((
unsigned long)x);
Defines RBIMPL_ATTR_ARTIFICIAL.
#define RBIMPL_ATTR_ARTIFICIAL()
Wraps (or simulates) __attribute__((artificial))
#define RBIMPL_ASSERT_OR_ASSUME(...)
This is either RUBY_ASSERT or RBIMPL_ASSUME, depending on RUBY_DEBUG.
Defines RBIMPL_ATTR_CONST.
#define RBIMPL_ATTR_CONST_UNLESS_DEBUG()
Enables RBIMPL_ATTR_CONST if and only if.
#define RBIMPL_ATTR_CONSTEXPR_UNLESS_DEBUG(_)
Enables RBIMPL_ATTR_CONSTEXPR if and only if.
Handling of integers formerly known as Fixnums.
#define RB_FIXABLE(_)
Checks if the passed value is in range of fixnum.
#define RUBY_FIXNUM_MAX
Maximum possible value that a fixnum can represent.
#define RUBY_FIXNUM_MIN
Minimum possible value that a fixnum can represent.
Arithmetic conversion between C's long and Ruby's.
#define RB_LONG2FIX
Just another name of RB_INT2FIX.
#define inline
Old Visual Studio versions do not support the inline keyword, so we need to define it to be __inline.
static VALUE RB_ST2FIX(st_data_t i)
Converts a C's st_data_t into an instance of rb_cInteger.
intptr_t SIGNED_VALUE
A signed integer type that has the same width with VALUE.
uintptr_t VALUE
Type that represents a Ruby object.