Ruby: include/ruby/internal/arithmetic/intptr_t.h File Reference

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

Macros | Functions
intptr_t.h File Reference

Arithmetic conversion between C's `intptr_t` and Ruby's. More...

`#include "ruby/internal/config.h"`
`#include "ruby/internal/value.h"`
`#include "ruby/internal/dllexport.h"`

Go to the source code of this file.

## Macros
#define | rb_int_new rb_int2inum
#define | rb_uint_new rb_uint2inum

## Functions
VALUE | rb_int2big (intptr_t i)
VALUE | rb_int2inum (intptr_t i)
VALUE | rb_uint2big (uintptr_t i)
VALUE | rb_uint2inum (uintptr_t i)

## Detailed Description

Arithmetic conversion between C's `intptr_t` and Ruby's.

Author
  Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org

Copyright
  This file is a part of the programming language Ruby. Permission is hereby granted, to either redistribute and/or modify this file, provided that the conditions mentioned in the file COPYING are met. Consult the file for details.

Warning
  Symbols prefixed with either `RBIMPL` or `rbimpl` are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will.

Note
  To ruby-core: remember that this header can be possibly recursively included from extension libraries written in C++. Do not expect for instance `__VA_ARGS__` is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98.

Definition in file intptr_t.h.

## Macro Definition Documentation

## ◆ rb_int_new

#define rb_int_new rb_int2inum

Definition at line 32 of file intptr_t.h.

## ◆ rb_uint_new

#define rb_uint_new rb_uint2inum

Definition at line 33 of file intptr_t.h.

## Function Documentation

## ◆ rb_int2big()

VALUE rb_int2big | ( | intptr_t | i | ) |

Definition at line 3186 of file bignum.c.

References BIGNUM_SET_NEGATIVE_SIGN, neg, and rb_uint2big().

Referenced by rb_big_divmod(), rb_big_fdiv_double(), rb_big_modulo(), rb_big_mul(), rb_big_remainder(), and rb_int2inum().

## ◆ rb_int2inum()

VALUE rb_int2inum | ( | intptr_t | i | ) |

Definition at line 3214 of file bignum.c.

References FIXABLE, LONG2FIX, and rb_int2big().

## ◆ rb_uint2big()

VALUE rb_uint2big | ( | uintptr_t | i | ) |

Definition at line 3164 of file bignum.c.

References BDIGIT, bdigit_roomof, BDIGITS, BIGDN, BIGLO, bignew, BIGNUM_SET_LEN, and SIZEOF_VALUE.

Referenced by rb_int2big(), rb_int_parse_cstr(), and rb_uint2inum().

## ◆ rb_uint2inum()

VALUE rb_uint2inum | ( | uintptr_t | i | ) |

Definition at line 3207 of file bignum.c.

References LONG2FIX, POSFIXABLE, and rb_uint2big().