Sha256: 80884c087b579215ca00770defa808f7aa88caedf2c9e384001ea2efd9a1c89e

Contents?: true

Size: 1.85 KB

Versions: 12

Compression:

Stored size: 1.85 KB

Contents

o:$YARD::CodeObjects::MethodObject:@scope:
instance:@visibility:public:
@pathI"
Bignum#|:EF:@parameters[:@files[[I"
bignum.c;T0:@current_file_has_commentsF:
@name:|:@source_type:c:
@tags[:@docstringIC:YARD::Docstring"7Performs bitwise +or+ between _big_ and _numeric_.;F:@objectIu:YARD::StubProxy
Bignum#|;F:
@summary0:@ref_tags[;[o:YARD::Tags::OverloadTag
:@tag_nameI"
overload;F:
@text0;;:@types0:@signatureI"|(numeric);F;IC;";F;Iu;
Bignum#|;F;0;[;[o:YARD::Tags::Tag
;I"return;F;I";F;0;[I"Integer;F;0:	@allI"@return [Integer];F;[[:numeric0;Iu;
Bignum#|;F; I"bPerforms bitwise +or+ between _big_ and _numeric_.


@overload |(numeric)
  @return [Integer];F:@namespaceIu;Bignum;F:@docstring_extra0:@sourceI"B/*
 * call-seq:
 *     big | numeric   ->  integer
 *
 * Performs bitwise +or+ between _big_ and _numeric_.
 */

VALUE
rb_big_or(VALUE xx, VALUE yy)
{
    volatile VALUE x, y, z;
    BDIGIT *ds1, *ds2, *zds;
    long i, l1, l2;
    char sign;

    x = xx;
    y = bit_coerce(yy);

    if (!RBIGNUM_SIGN(x)) {
    x = rb_big_clone(x);
    get2comp(x);
    }
    if (FIXNUM_P(y)) {
    return bigor_int(x, FIX2LONG(y));
    }
    if (!RBIGNUM_SIGN(y)) {
    y = rb_big_clone(y);
    get2comp(y);
    }
    if (RBIGNUM_LEN(x) > RBIGNUM_LEN(y)) {
    l1 = RBIGNUM_LEN(y);
    l2 = RBIGNUM_LEN(x);
    ds1 = BDIGITS(y);
    ds2 = BDIGITS(x);
    sign = RBIGNUM_SIGN(y);
    }
    else {
    l1 = RBIGNUM_LEN(x);
    l2 = RBIGNUM_LEN(y);
    ds1 = BDIGITS(x);
    ds2 = BDIGITS(y);
    sign = RBIGNUM_SIGN(x);
    }
    z = bignew(l2, RBIGNUM_SIGN(x) && RBIGNUM_SIGN(y));
    zds = BDIGITS(z);

    for (i=0; i<l1; i++) {
    zds[i] = ds1[i] | ds2[i];
    }
    for (; i<l2; i++) {
    zds[i] = sign?ds2[i]:(BDIGIT)(BIGRAD-1);
    }
    if (!RBIGNUM_SIGN(z)) get2comp(z);
    return bignorm(z);
};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/Bignum/_7C_i.dat
pry-doc-0.4.3 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.4.2 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.4.1 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.4.0 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.3.0 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.2.4pre1 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.2.3pre1 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.2.1 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.2.0 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-doc-0.1.5pre1 lib/pry-doc/core_docs_19/objects/Bignum/_7C_i.dat
pry-0.6.9pre1-i386-mingw32 lib/pry/core_docs_19/objects/Bignum/_7C_i.dat