Sha256: 89b904863c420f08cf242108ce268c549c66b24b4c146612c021dbd82b17dc1d

Contents?: true

Size: 1.82 KB

Versions: 12

Compression:

Stored size: 1.82 KB

Contents

o:$YARD::CodeObjects::MethodObject:@scope:
instance:@visibility:public:
@pathI"Float#to_r:EF:@parameters[:@files[[I"rational.c;T0:@current_file_has_commentsF:
@name:	to_r:@source_type:c:
@tags[:@docstringIC:YARD::Docstring"Returns the value as a rational.

NOTE: 0.3.to_r isn't the same as '0.3'.to_r.  The latter is
equivalent to '3/10'.to_r, but the former isn't so.

For example:

   2.0.to_r    #=> (2/1)
   2.5.to_r    #=> (5/2)
   -0.75.to_r  #=> (-3/4)
   0.0.to_r    #=> (0/1);F:@objectIu:YARD::StubProxyFloat#to_r;F:
@summary0:@ref_tags[;[o:YARD::Tags::OverloadTag
:@tag_nameI"
overload;F:
@text0;;:@types0:@signatureI"	to_r;F;IC;";F;Iu;Float#to_r;F;0;[;[:	@allI";F;[;Iu;Float#to_r;F;I"Returns the value as a rational.

NOTE: 0.3.to_r isn't the same as '0.3'.to_r.  The latter is
equivalent to '3/10'.to_r, but the former isn't so.

For example:

   2.0.to_r    #=> (2/1)
   2.5.to_r    #=> (5/2)
   -0.75.to_r  #=> (-3/4)
   0.0.to_r    #=> (0/1)


@overload to_r;F:@namespaceIu;
Float;F:@docstring_extra0:@sourceI"é/*
 * call-seq:
 *    flt.to_r  ->  rational
 *
 * Returns the value as a rational.
 *
 * NOTE: 0.3.to_r isn't the same as '0.3'.to_r.  The latter is
 * equivalent to '3/10'.to_r, but the former isn't so.
 *
 * For example:
 *
 *    2.0.to_r    #=> (2/1)
 *    2.5.to_r    #=> (5/2)
 *    -0.75.to_r  #=> (-3/4)
 *    0.0.to_r    #=> (0/1)
 */
static VALUE
float_to_r(VALUE self)
{
    VALUE f, n;

    float_decode_internal(self, &f, &n);
#if FLT_RADIX == 2
    {
    long ln = FIX2LONG(n);

    if (ln == 0)
        return f_to_r(f);
    if (ln > 0)
        return f_to_r(f_lshift(f, n));
    ln = -ln;
    return rb_rational_new2(f, f_lshift(ONE, INT2FIX(ln)));
    }
#else
    return f_to_r(f_mul(f, f_expt(INT2FIX(FLT_RADIX), n)));
#endif
};F

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
pry-doc-0.4.4 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.4.3 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.4.2 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.4.1 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.4.0 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.3.0 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.2.4pre1 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.2.3pre1 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.2.1 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.2.0 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-doc-0.1.5pre1 lib/pry-doc/core_docs_19/objects/Float/to_r_i.dat
pry-0.6.9pre1-i386-mingw32 lib/pry/core_docs_19/objects/Float/to_r_i.dat