Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
long_long.h
Go to the documentation of this file.
1#ifndef RBIMPL_ARITHMETIC_LONG_LONG_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_ARITHMETIC_LONG_LONG_H
23#include "ruby/internal/value.h"
27
28#define RB_LL2NUM rb_ll2inum
29#define RB_ULL2NUM rb_ull2inum
30#define LL2NUM RB_LL2NUM
31#define ULL2NUM RB_ULL2NUM
32#define RB_NUM2LL rb_num2ll_inline
33#define RB_NUM2ULL rb_num2ull
34#define NUM2LL RB_NUM2LL
35#define NUM2ULL RB_NUM2ULL
36
38VALUE rb_ll2inum(LONG_LONG);
39VALUE rb_ull2inum(unsigned LONG_LONG);
40LONG_LONG rb_num2ll(VALUE);
41unsigned LONG_LONG rb_num2ull(VALUE);
43
44static inline LONG_LONG
45rb_num2ll_inline(VALUE x)
46{
47 if (RB_FIXNUM_P(x))
48 return RB_FIX2LONG(x);
49 else
50 return rb_num2ll(x);
51}
52
53#endif /* RBIMPL_ARITHMETIC_LONG_LONG_H */
Defines old #LONG_LONG.
Tewaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
VALUE rb_ll2inum(LONG_LONG)
unsigned LONG_LONG rb_num2ull(VALUE)
VALUE rb_ull2inum(unsigned LONG_LONG)
LONG_LONG rb_num2ll(VALUE)
#define RB_FIX2LONG
Definition: long.h:53
Defines enum ruby_special_consts.
Defines VALUE and ID.
unsigned long VALUE
Definition: value.h:38