Ruby: include/ruby/internal/arithmetic/size_t.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

size_t.h
Go to the documentation of this file.
1#ifndef RBIMPL_ARITHMETIC_SIZE_T_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_ARITHMETIC_SIZE_T_H
23#include "ruby/internal/config.h"
24#include "ruby/internal/arithmetic/int.h"
25#include "ruby/internal/arithmetic/long.h"
26#include "ruby/internal/arithmetic/long_long.h"
27#include "ruby/backward/2/long_long.h"
28
29#if SIZEOF_SIZE_T == SIZEOF_LONG_LONG
30# define RB_SIZE2NUM RB_ULL2NUM
31# define RB_SSIZE2NUM RB_LL2NUM
32#elif SIZEOF_SIZE_T == SIZEOF_LONG
33# define RB_SIZE2NUM RB_ULONG2NUM
34# define RB_SSIZE2NUM RB_LONG2NUM
35#else
36# define RB_SIZE2NUM RB_UINT2NUM
37# define RB_SSIZE2NUM RB_INT2NUM
38#endif
39
40#if SIZEOF_SIZE_T == SIZEOF_LONG_LONG
41# define RB_NUM2SIZE RB_NUM2ULL
42# define RB_NUM2SSIZE RB_NUM2LL
43#elif SIZEOF_SIZE_T == SIZEOF_LONG
44# define RB_NUM2SIZE RB_NUM2ULONG
45# define RB_NUM2SSIZE RB_NUM2LONG
46#else
47# define RB_NUM2SIZE RB_NUM2UINT
48# define RB_NUM2SSIZE RB_NUM2INT
49#endif
50
51#define NUM2SIZET RB_NUM2SIZE
52#define SIZET2NUM RB_SIZE2NUM
53#define NUM2SSIZET RB_NUM2SSIZE
54#define SSIZET2NUM RB_SSIZE2NUM
55
56#endif /* RBIMPL_ARITHMETIC_SIZE_T_H */
long_long.h
Defines old #LONG_LONG.
config.h
Thin wrapper to ruby/config.h.
int.h
Arithmetic conversion between C's int and Ruby's.
long_long.h
Arithmetic conversion between C's long long and Ruby's.
long.h
Arithmetic conversion between C's long and Ruby's.