Sha256: 33b1768a88879f8ef9b61e1d118264263eb364b1e6d5df22cb0f6e4c169c0635

Contents?: true

Size: 1.59 KB

Versions: 12

Compression:

Stored size: 1.59 KB

Contents

o:$YARD::CodeObjects::MethodObject:
@name:*:@docstringIC:YARD::Docstring"‹Performs multiplication: the class of the resulting object depends on
the class of <code>numeric</code> and on the magnitude of the
result.
:@objectu:YARD::StubProxy
Fixnum#*:
@summary0:	@all"¢Performs multiplication: the class of the resulting object depends on
the class of <code>numeric</code> and on the magnitude of the
result.


@overload *(numeric):@ref_tags[:
@tags[o:YARD::Tags::OverloadTag
;
u;
Fixnum#*;;;IC;	"
;
u;
Fixnum#*;0;
";[;[:@types0:@parameters[[:numeric0:
@text0:@signature"*(numeric):@tag_name"
overload:@current_file_has_commentsF:@scope:
instance;[:@docstring_extra0:@files[["numeric.c0:@namespaceu;Fixnum:
@path"
Fixnum#*;[:@visibility:public:@source"$/*
 * call-seq:
 *   fix * numeric   =>  numeric_result
 *
 * Performs multiplication: the class of the resulting object depends on
 * the class of <code>numeric</code> and on the magnitude of the
 * result.
 */

static VALUE
fix_mul(x, y)
    VALUE x, y;
{
    if (FIXNUM_P(y)) {
#ifdef __HP_cc
        /* avoids an optimization bug of HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] */
        volatile
#endif
    long a, b, c;
    VALUE r;

    a = FIX2LONG(x);
    if (a == 0) return x;

    b = FIX2LONG(y);
    c = a * b;
    r = LONG2FIX(c);

    if (FIX2LONG(r) != c || c/a != b) {
        r = rb_big_mul(rb_int2big(a), rb_int2big(b));
    }
    return r;
    }
    if (TYPE(y) == T_FLOAT) {
    return rb_float_new((double)FIX2LONG(x) * RFLOAT(y)->value);
    }
    return rb_num_coerce_bin(x, y);
}:@source_type:c

Version data entries

12 entries across 12 versions & 2 rubygems

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