Ruby  3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
Data Structures | Macros | Functions
rational.h File Reference

(b76ad15ed0da636161de0243c547ee1e6fc95681)

Internal header for Rational. More...

#include "ruby/internal/config.h"
#include "ruby/ruby.h"
#include "internal/gc.h"
#include "internal/numeric.h"
#include "ruby_assert.h"
Include dependency graph for rational.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RRational
 

Macros

#define RRATIONAL(obj)   ((struct RRational *)(obj))
 

Functions

VALUE rb_rational_canonicalize (VALUE x)
 
VALUE rb_rational_uminus (VALUE self)
 
VALUE rb_rational_plus (VALUE self, VALUE other)
 
VALUE rb_rational_minus (VALUE self, VALUE other)
 
VALUE rb_rational_mul (VALUE self, VALUE other)
 
VALUE rb_rational_div (VALUE self, VALUE other)
 
VALUE rb_lcm (VALUE x, VALUE y)
 
VALUE rb_rational_reciprocal (VALUE x)
 
VALUE rb_cstr_to_rat (const char *, int)
 
VALUE rb_rational_hash (VALUE self)
 
VALUE rb_rational_abs (VALUE self)
 
VALUE rb_rational_cmp (VALUE self, VALUE other)
 
VALUE rb_rational_pow (VALUE self, VALUE other)
 
VALUE rb_rational_floor (VALUE self, int ndigits)
 
VALUE rb_numeric_quo (VALUE x, VALUE y)
 
VALUE rb_flo_round_by_rational (int argc, VALUE *argv, VALUE num)
 
VALUE rb_float_numerator (VALUE x)
 
VALUE rb_float_denominator (VALUE x)
 
VALUE rb_gcd (VALUE x, VALUE y)
 
VALUE rb_gcd_normal (VALUE self, VALUE other)
 

Detailed Description

Internal header for Rational.

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

Definition in file rational.h.

Macro Definition Documentation

◆ RRATIONAL

#define RRATIONAL (   obj)    ((struct RRational *)(obj))

Definition at line 24 of file rational.h.

Function Documentation

◆ rb_cstr_to_rat()

VALUE rb_cstr_to_rat ( const char *  ,
int   
)

Definition at line 2550 of file rational.c.

◆ rb_flo_round_by_rational()

VALUE rb_flo_round_by_rational ( int  argc,
VALUE argv,
VALUE  num 
)

Definition at line 1543 of file rational.c.

◆ rb_float_denominator()

VALUE rb_float_denominator ( VALUE  x)

Definition at line 2113 of file rational.c.

References INT2FIX, isfinite, and RFLOAT_VALUE.

◆ rb_float_numerator()

VALUE rb_float_numerator ( VALUE  x)

Definition at line 2093 of file rational.c.

References isfinite, and RFLOAT_VALUE.

◆ rb_gcd()

VALUE rb_gcd ( VALUE  x,
VALUE  y 
)

Definition at line 1904 of file rational.c.

◆ rb_gcd_normal()

VALUE rb_gcd_normal ( VALUE  self,
VALUE  other 
)

Definition at line 359 of file rational.c.

◆ rb_lcm()

VALUE rb_lcm ( VALUE  x,
VALUE  y 
)

Definition at line 1923 of file rational.c.

◆ rb_numeric_quo()

VALUE rb_numeric_quo ( VALUE  x,
VALUE  y 
)

Definition at line 2032 of file rational.c.

Referenced by fun2().

◆ rb_rational_abs()

VALUE rb_rational_abs ( VALUE  self)

Definition at line 1233 of file rational.c.

References get_dat1.

◆ rb_rational_canonicalize()

VALUE rb_rational_canonicalize ( VALUE  x)

Definition at line 2047 of file rational.c.

◆ rb_rational_cmp()

VALUE rb_rational_cmp ( VALUE  self,
VALUE  other 
)

Definition at line 1068 of file rational.c.

References get_dat1, LONG2FIX, rb_int_cmp(), T_BIGNUM, T_FIXNUM, and TYPE.

◆ rb_rational_div()

VALUE rb_rational_div ( VALUE  self,
VALUE  other 
)

Definition at line 896 of file rational.c.

References RB_INTEGER_TYPE_P.

◆ rb_rational_floor()

VALUE rb_rational_floor ( VALUE  self,
int  ndigits 
)

Definition at line 1393 of file rational.c.

◆ rb_rational_hash()

VALUE rb_rational_hash ( VALUE  self)

Definition at line 1751 of file rational.c.

References get_dat1, NUM2LONG, rb_hash(), and rb_memhash().

Referenced by rb_iseq_cdhash_hash().

◆ rb_rational_minus()

VALUE rb_rational_minus ( VALUE  self,
VALUE  other 
)

Definition at line 758 of file rational.c.

References get_dat1, and RB_INTEGER_TYPE_P.

◆ rb_rational_mul()

VALUE rb_rational_mul ( VALUE  self,
VALUE  other 
)

Definition at line 854 of file rational.c.

References get_dat1, and RB_INTEGER_TYPE_P.

◆ rb_rational_plus()

VALUE rb_rational_plus ( VALUE  self,
VALUE  other 
)

Definition at line 717 of file rational.c.

References get_dat1, and RB_INTEGER_TYPE_P.

◆ rb_rational_pow()

VALUE rb_rational_pow ( VALUE  self,
VALUE  other 
)

Definition at line 973 of file rational.c.

◆ rb_rational_reciprocal()

VALUE rb_rational_reciprocal ( VALUE  x)

Definition at line 1885 of file rational.c.

References get_dat1.

◆ rb_rational_uminus()

VALUE rb_rational_uminus ( VALUE  self)

Definition at line 604 of file rational.c.

References assert.