public Method

Fixnum.-(p1)

fix - numeric     numeric_result

Performs subtraction: the class of the resulting object depends on the class of numeric and on the magnitude of the result.

Source Code

/*
* call-seq:
*   fix - numeric   =>  numeric_result
*
* Performs subtraction: the class of the resulting object depends on
* the class of <code>numeric</code> and on the magnitude of the 
* result.
*/

static VALUE
fix_minus(x, y)
   VALUE x, y;
{
   if (FIXNUM_P(y)) {
       long a, b, c;
       VALUE r;

       a = FIX2LONG(x);
       b = FIX2LONG(y);
       c = a - b;
       r = LONG2NUM(c);

       return r;
   }
   if (TYPE(y) == T_FLOAT) {
       return rb_float_new((double)FIX2LONG(x) - RFLOAT(y)->value);
   }
   return rb_num_coerce_bin(x, y);
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.