1#ifndef RBIMPL_INTERN_BIGNUM_H
2#define RBIMPL_INTERN_BIGNUM_H
48#define rb_big2int(x) rb_big2long(x)
50#define rb_big2uint(x) rb_big2ulong(x)
52LONG_LONG rb_big2ll(
VALUE);
53unsigned LONG_LONG rb_big2ull(
VALUE);
80#define INTEGER_PACK_MSWORD_FIRST 0x01
81#define INTEGER_PACK_LSWORD_FIRST 0x02
82#define INTEGER_PACK_MSBYTE_FIRST 0x10
83#define INTEGER_PACK_LSBYTE_FIRST 0x20
84#define INTEGER_PACK_NATIVE_BYTE_ORDER 0x40
85#define INTEGER_PACK_2COMP 0x80
86#define INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION 0x400
88#define INTEGER_PACK_FORCE_BIGNUM 0x100
89#define INTEGER_PACK_NEGATIVE 0x200
91#define INTEGER_PACK_LITTLE_ENDIAN \
92 (INTEGER_PACK_LSWORD_FIRST | \
93 INTEGER_PACK_LSBYTE_FIRST)
94#define INTEGER_PACK_BIG_ENDIAN \
95 (INTEGER_PACK_MSWORD_FIRST | \
96 INTEGER_PACK_MSBYTE_FIRST)
97int rb_integer_pack(
VALUE val,
void *words,
size_t numwords,
size_t wordsize,
size_t nails,
int flags);
Tewaking 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" {.
Thin wrapper to ruby/config.h.
int rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags)
VALUE rb_big_pow(VALUE, VALUE)
VALUE rb_big_eql(VALUE, VALUE)
VALUE rb_big_minus(VALUE, VALUE)
VALUE rb_big_div(VALUE, VALUE)
int rb_bigzero_p(VALUE x)
VALUE rb_big_idiv(VALUE, VALUE)
VALUE rb_cstr2inum(const char *, int)
VALUE rb_big_clone(VALUE)
VALUE rb_big_xor(VALUE, VALUE)
VALUE rb_big_lshift(VALUE, VALUE)
VALUE rb_big_rshift(VALUE, VALUE)
size_t rb_absint_size(VALUE val, int *nlz_bits_ret)
size_t rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret)
int rb_absint_singlebit_p(VALUE val)
VALUE rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags)
unsigned long rb_big2ulong(VALUE)
VALUE rb_big_mul(VALUE, VALUE)
VALUE rb_big_eq(VALUE, VALUE)
VALUE rb_cstr_to_inum(const char *, int, int)
VALUE rb_str_to_inum(VALUE, int, int)
VALUE rb_big_divmod(VALUE, VALUE)
VALUE rb_big_unpack(unsigned long *buf, long num_longs)
VALUE rb_big_new(size_t, int)
VALUE rb_big_modulo(VALUE, VALUE)
VALUE rb_big_cmp(VALUE, VALUE)
VALUE rb_big_or(VALUE, VALUE)
VALUE rb_big_and(VALUE, VALUE)
void rb_big_pack(VALUE val, unsigned long *buf, long num_longs)
VALUE rb_str2inum(VALUE, int)
VALUE rb_big2str(VALUE, int)
void rb_big_resize(VALUE big, size_t len)
VALUE rb_big_plus(VALUE, VALUE)
int rb_uv_to_utf8(char[6], unsigned long)