Method: BigDecimal#abs

Defined in:
bigdecimal.c

#absObject

Returns the BigDecimal absolute value of self:

BigDecimal('5').abs  # => 0.5e1
BigDecimal('-3').abs # => 0.3e1


2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
# File 'bigdecimal.c', line 2391

static VALUE
BigDecimal_abs(VALUE self)
{
    ENTER(5);
    Real *c, *a;
    size_t mx;

    GUARD_OBJ(a, GetVpValue(self, 1));
    mx = a->Prec *(VpBaseFig() + 1);
    GUARD_OBJ(c, NewZeroWrapLimited(1, mx));
    VpAsgn(c, a, 1);
    VpChangeSign(c, 1);
    return VpCheckGetValue(c);
}