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.