Sha256: b4a04cfb2bd4cd1de01d02f862eb5545ecb5e34a7b69c0a6978f2fe3009ffab7

Contents?: true

Size: 1.78 KB

Versions: 12

Compression:

Stored size: 1.78 KB

Contents

o:$YARD::CodeObjects::MethodObject:
@name:|:@docstringIC:YARD::Docstring"7Performs bitwise +or+ between _big_ and _numeric_.
:@objectu:YARD::StubProxy
Bignum#|:
@summary0:	@all"bPerforms bitwise +or+ between _big_ and _numeric_.


@overload |(numeric)
  @return [Integer]:@ref_tags[:
@tags[o:YARD::Tags::OverloadTag
;
u;
Bignum#|;;;IC;	"
;
u;
Bignum#|;0;
"@return [Integer];[;[o:YARD::Tags::Tag
;
0;0:@types["Integer:
@text":@tag_name"return;0:@parameters[[:numeric0;0:@signature"|(numeric);"
overload:@current_file_has_commentsF:@scope:
instance;[:@docstring_extra0:@files[["
bignum.c0:@namespaceu;Bignum:
@path"
Bignum#|;[:@visibility:public:@source"G/*
 * call-seq:
 *     big | numeric   =>  integer
 *
 * Performs bitwise +or+ between _big_ and _numeric_.
 */

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

    x = xx;
    y = rb_to_int(yy);
    if (FIXNUM_P(y)) {
    y = rb_int2big(FIX2LONG(y));
    }
    if (!RBIGNUM(y)->sign) {
    y = rb_big_clone(y);
    get2comp(y);
    }
    if (!RBIGNUM(x)->sign) {
    x = rb_big_clone(x);
    get2comp(x);
    }
    if (RBIGNUM(x)->len > RBIGNUM(y)->len) {
    l1 = RBIGNUM(y)->len;
    l2 = RBIGNUM(x)->len;
    ds1 = BDIGITS(y);
    ds2 = BDIGITS(x);
    sign = RBIGNUM(y)->sign;
    }
    else {
    l1 = RBIGNUM(x)->len;
    l2 = RBIGNUM(y)->len;
    ds1 = BDIGITS(x);
    ds2 = BDIGITS(y);
    sign = RBIGNUM(x)->sign;
    }
    z = bignew(l2, RBIGNUM(x)->sign && RBIGNUM(y)->sign);
    zds = BDIGITS(z);

    for (i=0; i<l1; i++) {
    zds[i] = ds1[i] | ds2[i];
    }
    for (; i<l2; i++) {
    zds[i] = sign?ds2[i]:(BIGRAD-1);
    }
    if (!RBIGNUM(z)->sign) get2comp(z);

    return bignorm(z);
}:@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/Bignum/_7C_i.dat
pry-doc-0.4.3 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.4.2 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.4.1 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.4.0 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.3.0 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.2.4pre1 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.2.3pre1 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.2.1 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.2.0 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-doc-0.1.5pre1 lib/pry-doc/core_docs_18/objects/Bignum/_7C_i.dat
pry-0.6.9pre1-i386-mingw32 lib/pry/core_docs_18/objects/Bignum/_7C_i.dat