1 #ifndef RBIMPL_ARITHMETIC_SIZE_T_H
2 #define RBIMPL_ARITHMETIC_SIZE_T_H
23 #include "ruby/internal/config.h"
29 #if defined(__DOXYGEN__)
31 # define RB_SIZE2NUM RB_ULONG2NUM
33 # define RB_SSIZE2NUM RB_LONG2NUM
34 #elif SIZEOF_SIZE_T == SIZEOF_LONG_LONG
35 # define RB_SIZE2NUM RB_ULL2NUM
36 # define RB_SSIZE2NUM RB_LL2NUM
37 #elif SIZEOF_SIZE_T == SIZEOF_LONG
38 # define RB_SIZE2NUM RB_ULONG2NUM
39 # define RB_SSIZE2NUM RB_LONG2NUM
41 # define RB_SIZE2NUM RB_UINT2NUM
42 # define RB_SSIZE2NUM RB_INT2NUM
45 #if defined(__DOXYGEN__)
47 # define RB_NUM2SIZE RB_NUM2ULONG
49 # define RB_NUM2SSIZE RB_NUM2LONG
50 #elif SIZEOF_SIZE_T == SIZEOF_LONG_LONG
51 # define RB_NUM2SIZE RB_NUM2ULL
52 # define RB_NUM2SSIZE RB_NUM2LL
53 #elif SIZEOF_SIZE_T == SIZEOF_LONG
54 # define RB_NUM2SIZE RB_NUM2ULONG
55 # define RB_NUM2SSIZE RB_NUM2LONG
57 # define RB_NUM2SIZE RB_NUM2UINT
58 # define RB_NUM2SSIZE RB_NUM2INT
61 #define NUM2SIZET RB_NUM2SIZE
62 #define SIZET2NUM RB_SIZE2NUM
63 #define NUM2SSIZET RB_NUM2SSIZE
64 #define SSIZET2NUM RB_SSIZE2NUM
Arithmetic conversion between C's int and Ruby's.
Arithmetic conversion between C's long long and Ruby's.
Arithmetic conversion between C's long and Ruby's.