1#ifndef RBIMPL_ARITHMETIC_INTPTR_T_H
2#define RBIMPL_ARITHMETIC_INTPTR_T_H
23#include "ruby/internal/config.h"
32#define rb_int_new rb_int2inum
33#define rb_uint_new rb_uint2inum
36#if SIZEOF_VOIDP <= SIZEOF_LONG
37# define PTR2NUM(x) (LONG2NUM((long)(x)))
38# define NUM2PTR(x) ((void*)(NUM2ULONG(x)))
39#elif SIZEOF_VOIDP <= SIZEOF_LONG_LONG
40# define PTR2NUM(x) (LL2NUM((LONG_LONG)(x)))
41# define NUM2PTR(x) ((void*)(NUM2ULL(x)))
44# error Need integer for VALUE
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
VALUE rb_int2inum(intptr_t i)
Converts a C's intptr_t into an instance of rb_cInteger.
VALUE rb_uint2big(uintptr_t i)
Converts a C's intptr_t into an instance of rb_cInteger.
VALUE rb_int2big(intptr_t i)
Converts a C's intptr_t into an instance of rb_cInteger.
VALUE rb_uint2inum(uintptr_t i)
Converts a C's uintptr_t into an instance of rb_cInteger.
uintptr_t VALUE
Type that represents a Ruby object.